From c70583097c52fd7d82fab8b44277c23044cfcfd7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 12 Jun 2025 23:31:16 +1000 Subject: [PATCH] New Crowdin translations by GitHub Action (#9726) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .../InvenTree/locale/ar/LC_MESSAGES/django.po | 2147 +++++++------- .../InvenTree/locale/bg/LC_MESSAGES/django.po | 2147 +++++++------- .../InvenTree/locale/cs/LC_MESSAGES/django.po | 2141 +++++++------- .../InvenTree/locale/da/LC_MESSAGES/django.po | 2141 +++++++------- .../InvenTree/locale/de/LC_MESSAGES/django.po | 2145 +++++++------- .../InvenTree/locale/el/LC_MESSAGES/django.po | 2141 +++++++------- .../InvenTree/locale/en/LC_MESSAGES/django.po | 2145 +++++++------- .../InvenTree/locale/es/LC_MESSAGES/django.po | 2141 +++++++------- .../locale/es_MX/LC_MESSAGES/django.po | 2141 +++++++------- .../InvenTree/locale/et/LC_MESSAGES/django.po | 2147 +++++++------- .../InvenTree/locale/fa/LC_MESSAGES/django.po | 2149 +++++++------- .../InvenTree/locale/fi/LC_MESSAGES/django.po | 2147 +++++++------- .../InvenTree/locale/fr/LC_MESSAGES/django.po | 2135 +++++++------- .../InvenTree/locale/he/LC_MESSAGES/django.po | 2147 +++++++------- .../InvenTree/locale/hi/LC_MESSAGES/django.po | 2147 +++++++------- .../InvenTree/locale/hu/LC_MESSAGES/django.po | 2135 +++++++------- .../InvenTree/locale/id/LC_MESSAGES/django.po | 2141 +++++++------- .../InvenTree/locale/it/LC_MESSAGES/django.po | 2141 +++++++------- .../InvenTree/locale/ja/LC_MESSAGES/django.po | 2135 +++++++------- .../InvenTree/locale/ko/LC_MESSAGES/django.po | 2147 +++++++------- .../InvenTree/locale/lt/LC_MESSAGES/django.po | 2479 +++++++++-------- .../InvenTree/locale/lv/LC_MESSAGES/django.po | 2147 +++++++------- .../InvenTree/locale/nl/LC_MESSAGES/django.po | 2135 +++++++------- .../InvenTree/locale/no/LC_MESSAGES/django.po | 2141 +++++++------- .../InvenTree/locale/pl/LC_MESSAGES/django.po | 2141 +++++++------- .../InvenTree/locale/pt/LC_MESSAGES/django.po | 2141 +++++++------- .../locale/pt_BR/LC_MESSAGES/django.po | 2147 +++++++------- .../InvenTree/locale/ro/LC_MESSAGES/django.po | 2147 +++++++------- .../InvenTree/locale/ru/LC_MESSAGES/django.po | 2245 ++++++++------- .../InvenTree/locale/sk/LC_MESSAGES/django.po | 2147 +++++++------- .../InvenTree/locale/sl/LC_MESSAGES/django.po | 2141 +++++++------- .../InvenTree/locale/sr/LC_MESSAGES/django.po | 2135 +++++++------- .../InvenTree/locale/sv/LC_MESSAGES/django.po | 2151 +++++++------- .../InvenTree/locale/th/LC_MESSAGES/django.po | 2147 +++++++------- .../InvenTree/locale/tr/LC_MESSAGES/django.po | 2141 +++++++------- .../InvenTree/locale/uk/LC_MESSAGES/django.po | 2147 +++++++------- .../InvenTree/locale/vi/LC_MESSAGES/django.po | 2141 +++++++------- .../locale/zh_Hans/LC_MESSAGES/django.po | 2135 +++++++------- .../locale/zh_Hant/LC_MESSAGES/django.po | 2135 +++++++------- src/frontend/src/locales/de/messages.po | 2 +- src/frontend/src/locales/fa/messages.po | 2 +- src/frontend/src/locales/fr/messages.po | 2 +- src/frontend/src/locales/it/messages.po | 2 +- src/frontend/src/locales/ja/messages.po | 2 +- src/frontend/src/locales/lt/messages.po | 2 +- src/frontend/src/locales/ru/messages.po | 334 +-- src/frontend/src/locales/sv/messages.po | 2 +- src/frontend/src/locales/tr/messages.po | 2 +- src/frontend/src/locales/uk/messages.po | 102 +- src/frontend/src/locales/zh_Hans/messages.po | 2 +- 50 files changed, 44198 insertions(+), 40259 deletions(-) diff --git a/src/backend/InvenTree/locale/ar/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ar/LC_MESSAGES/django.po index f9a2705d0f..28e13810a6 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:14\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Arabic\n" "Language: ar_SA\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "تعذّر تحويل {original} إلى {unit}" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "الكمية المقدمة غير صحيحة" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "يمكن العثور على تفاصيل الخطأ في لوحة التحكم" @@ -108,9 +108,9 @@ msgstr "أدخل التاريخ" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "" msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "" @@ -526,29 +526,29 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "" @@ -646,16 +646,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "" @@ -663,15 +663,15 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "" @@ -682,52 +682,56 @@ msgstr "" msgid "Available" msgstr "" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:291 -msgid "Destination Location" -msgstr "" - -#: build/models.py:296 -msgid "Select location where the completed items will be stored" +#: build/models.py:299 +msgid "External Build" msgstr "" #: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 +msgid "Destination Location" +msgstr "" + +#: build/models.py:310 +msgid "Select location where the completed items will be stored" +msgstr "" + +#: build/models.py:314 msgid "Build Quantity" msgstr "" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "" -#: build/models.py:350 +#: build/models.py:364 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "" -#: build/serializers.py:945 +#: build/serializers.py:946 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "" @@ -1429,544 +1441,544 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "" @@ -1988,7 +2000,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "" @@ -2004,80 +2016,88 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2188,8 +2208,8 @@ msgstr "" #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "" @@ -2417,8 +2437,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "" @@ -2431,8 +2451,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "" @@ -3546,8 +3558,8 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "" @@ -3591,7 +3603,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "" @@ -3701,8 +3713,8 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "" @@ -3730,7 +3742,7 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "" @@ -3782,8 +3794,8 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "" @@ -3818,7 +3830,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "" @@ -3854,15 +3866,15 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "" @@ -4186,101 +4198,105 @@ msgstr "" msgid "Config type" msgstr "" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "" -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1241 +#: order/models.py:1283 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1251 +#: order/models.py:1293 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "" -#: order/models.py:1595 +#: order/models.py:1637 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1847 +#: order/models.py:1924 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2218 +#: order/models.py:2301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2735 +#: order/models.py:2818 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "" @@ -5142,24 +5174,24 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "" @@ -5191,7 +5223,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "" @@ -5200,8 +5232,8 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5316,7 +5348,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5357,7 +5389,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "" @@ -5433,847 +5465,867 @@ msgstr "" msgid "Last Stocktake" msgstr "" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:537 +#: part/serializers.py:550 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -6857,43 +6958,43 @@ msgstr "" msgid "Skip this number of labels when printing label sheets" msgstr "" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "" @@ -7046,21 +7147,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7345,7 +7446,7 @@ msgstr "" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "" @@ -7357,56 +7458,56 @@ msgstr "" msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "" @@ -7694,7 +7795,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "" @@ -8599,115 +8700,115 @@ msgstr "" msgid "Permission to delete items" msgstr "" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "" diff --git a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po index 895531e925..f3ea3a02c5 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:14\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Language: bg_BG\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "Преобразуването на {original} в {unit} не беше успешно" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "Въведена е недопустима стойност" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "Подробности за грешката могат да се намерят в администраторския панел" @@ -108,9 +108,9 @@ msgstr "Въведи дата" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "" msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "" @@ -526,29 +526,29 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "" msgid "Part" msgstr "Част" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "" @@ -646,16 +646,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "" @@ -663,15 +663,15 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "" @@ -682,52 +682,56 @@ msgstr "" msgid "Available" msgstr "" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:291 -msgid "Destination Location" -msgstr "" - -#: build/models.py:296 -msgid "Select location where the completed items will be stored" +#: build/models.py:299 +msgid "External Build" msgstr "" #: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 +msgid "Destination Location" +msgstr "" + +#: build/models.py:310 +msgid "Select location where the completed items will be stored" +msgstr "" + +#: build/models.py:314 msgid "Build Quantity" msgstr "" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "" -#: build/models.py:350 +#: build/models.py:364 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "" -#: build/serializers.py:945 +#: build/serializers.py:946 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "" @@ -1429,544 +1441,544 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "Потребител" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "" @@ -1988,7 +2000,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "" @@ -2004,80 +2016,88 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2188,8 +2208,8 @@ msgstr "" #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "" @@ -2417,8 +2437,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "" @@ -2431,8 +2451,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "" @@ -3546,8 +3558,8 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "" @@ -3591,7 +3603,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "" @@ -3701,8 +3713,8 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "" @@ -3730,7 +3742,7 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "" @@ -3782,8 +3794,8 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "" @@ -3818,7 +3830,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "" @@ -3854,15 +3866,15 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "" @@ -4186,101 +4198,105 @@ msgstr "" msgid "Config type" msgstr "" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "" -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1241 +#: order/models.py:1283 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1251 +#: order/models.py:1293 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "" -#: order/models.py:1595 +#: order/models.py:1637 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1847 +#: order/models.py:1924 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "Изпратено" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2218 +#: order/models.py:2301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2735 +#: order/models.py:2818 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "" @@ -5142,24 +5174,24 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "" @@ -5191,7 +5223,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "" @@ -5200,8 +5232,8 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5316,7 +5348,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5357,7 +5389,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "" @@ -5433,847 +5465,867 @@ msgstr "" msgid "Last Stocktake" msgstr "" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:537 +#: part/serializers.py:550 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Цялостна наличност" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -6857,43 +6958,43 @@ msgstr "" msgid "Skip this number of labels when printing label sheets" msgstr "" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "" @@ -7046,21 +7147,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7345,7 +7446,7 @@ msgstr "" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "" @@ -7357,56 +7458,56 @@ msgstr "" msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "" @@ -7694,7 +7795,7 @@ msgstr "" msgid "Stock Location" msgstr "Място в склада" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "Места в склада" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "" @@ -8599,115 +8700,115 @@ msgstr "" msgid "Permission to delete items" msgstr "" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "" diff --git a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po index 71fe74db6f..8d7cd19d0f 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:14\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "Nelze převést {original} na {unit}" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "Vyplněno neplatné množství" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "Podrobnosti o chybě lze nalézt v panelu administrace" @@ -108,9 +108,9 @@ msgstr "Zadejte datum" msgid "Invalid decimal value" msgstr "Neplaté desetinné číslo" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "Referenční číslo musí odpovídat požadovanému vzoru" msgid "Reference number is too large" msgstr "Referenční číslo je příliš velké" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 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:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "Neplatný výběr" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "Název" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "Popis" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "Popis (volitelně)" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "Cesta" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "Poznámky (volitelné)" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "Data čárového kódu" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "Data čárového kódu třetí strany" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "Hash čárového kódu" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "Jedinečný hash dat čárového kódu" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "Nalezen existující čárový kód" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "Selhání úlohy" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "Úloha na pozadí '{f}' se ani po {n} pokusech nezdařila" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "Chyba serveru" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "Server zaznamenal chybu." -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "Musí být platné číslo" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "Měna" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "Vyberte měnu z dostupných možností" @@ -526,29 +526,29 @@ msgstr "Nesmí přesáhnout 100%" msgid "Invalid value for overage" msgstr "Neplatná hodnota překročení" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Stav objednávky" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "Nadřazená sestava" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "Zahrnout varianty" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "Zahrnout varianty" msgid "Part" msgstr "Díl" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "Kategorie" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "Sestava předků" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "Přiřazeno mě" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Vystavil" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "Přiřazeno" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "Vytvořeno před" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "Vytvořeno po" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "Má počáteční datum" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "Datum začátku před" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "Datum začátku po" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "Má cílové datum" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "Cílové datum před" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "Cílové datum po" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "Dokončeno před" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "Dokončeno po" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "Min. datum" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "Max datum" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "Vyloučit strom" @@ -646,16 +646,16 @@ msgstr "Vyloučit strom" msgid "Build must be cancelled before it can be deleted" msgstr "Sestavení musí být zrušeno před odstraněním" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "Spotřební materiál" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "Volitelné" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "Sestava" @@ -663,15 +663,15 @@ msgstr "Sestava" msgid "Tracked" msgstr "Sledováno" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "Testovatelné" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "Objednávka nevyřízená" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "Přiděleno" @@ -682,52 +682,56 @@ msgstr "Přiděleno" msgid "Available" msgstr "Dostupné" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Výrobní příkaz" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "Výrobní příkazy" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "Kusovník sestavy ještě nebyl schválen" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "Výrobní příkaz nesmí být vytvořen pro neaktivní díl" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "Neplatná volba nadřazeného sestavení" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "Musí být specifikován odpovědný uživatel nebo skupina" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "Díl výrobního příkazu nelze změnit" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "Cílové datum musí být po datu zahájení" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "Referenční číslo výrobního příkazu" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "Referenční číslo výrobního příkazu" msgid "Reference" msgstr "Reference" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "Stručný popis sestavení (nepovinné)" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Výrobní příkaz, kterému je tento výrobní příkaz přidělen" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "Vyber téma, které chceš stavět" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "Referenční číslo prodejní objednávky" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "Prodejní objednávka, které je tento výrobní příkaz přidělen" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "Zdrojové umístění" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Vyberte lokaci, ze které chcete brát zásoby pro sestavu (nechte prázdné, chcete-li brát zásoby z libovolné lokace)" -#: build/models.py:291 +#: build/models.py:299 +msgid "External Build" +msgstr "" + +#: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 msgid "Destination Location" msgstr "Cílová lokace" -#: build/models.py:296 +#: build/models.py:310 msgid "Select location where the completed items will be stored" msgstr "Vyberte lokaci, kde budou dokončené položky uloženy" -#: build/models.py:300 +#: build/models.py:314 msgid "Build Quantity" msgstr "Množství sestav" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "Počet skladových položek k sestavení" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "Dokončené položky" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "Počet skladových položek, které byly dokončeny" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "Stav sestavení" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "Stavový kód sestavení" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "Kód dávky" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "Dávkový kód pro tento výstup sestavení" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "Datum vytvoření" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "Datum zahájení sestavení" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "Plánované datum zahájení této objednávky" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "Cílové datum dokončení" -#: build/models.py:350 +#: build/models.py:364 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:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "Datum dokončení" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "dokončil" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "Vystavil" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "Uživatel, který vystavil tento výrobní příkaz" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Odpovědný" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "Uživatel nebo skupina odpovědná za tento výrobní příkaz" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "Externí odkaz" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Odkaz na externí URL" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "Priorita sestavení" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "Priorita tohoto výrobního příkazu" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Kód projektu" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "Kód projektu pro tento výrobní příkaz" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "Nepodařilo se uvolnit úlohu pro dokončení přidělení sestavy" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Výrobní příkaz {build} byl dokončen" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "Výrobní příkaz byl dokončen" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "U sledovatelných dílů musí být uvedena sériová čísla" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "Nebyl specifikováno žádný výstup sestavení" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "Výstup sestavení je již dokončen" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "Výstup neodpovídá výrobnímu příkazu" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "Množství musí být vyšší než nula" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "Množství nemůže být větší než výstupní množství" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Výstup sestavy {serial} neprošel všemi požadavky" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "Řádková položka výrobního příkazu" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "Vytvořit objekt" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "Vytvořit objekt" msgid "Quantity" msgstr "Množství" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "Vyžadované množství pro výrobní příkaz" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Položka sestavení musí specifikovat výstup sestavení, protože hlavní díl je označen jako sledovatelný" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Zabrané množství ({q}) nesmí překročit dostupné skladové množství ({a})" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Skladová položka je nadměrně zabrána" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Zabrané množství musí být větší než nula" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "Množství musí být 1 pro zřetězený sklad" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "Vybraná skladová položka neodpovídá řádku kusovníku" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "Skladové položky" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "Zdrojová skladová položka" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "Skladové množství pro sestavení" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "Instalovat do" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "Cílová skladová položka" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "Úroveň sestavení" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "Název dílu" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "Popisek kódu projektu" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "Vytvořit podřízené sestavení" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "Automaticky generovat potomky" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "Vytvořit výstup" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "Vytvořený výstup neodpovídá nadřazenému sestavení" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "Výstupní díl se neshoduje s dílem výrobního příkazu" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "Výstup sestavení je již dokončen" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "Tento stavební výstup není plně přiřazen" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "Zadejte množství pro výstup sestavení" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "Celé množství požadované pro sledovatelné díly" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Je vyžadována celočíselná hodnota množství, protože kusovník obsahuje sledovatelné díly" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "Sériová čísla" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "Zadejte sériová čísla pro sestavení výstupů" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "Lokace" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "Skladové umístění pro výstup sestavy" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "Automaticky zvolit sériová čísla" -#: build/serializers.py:407 +#: build/serializers.py:408 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:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "Následující sériová čísla již existují nebo jsou neplatná" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "Musí být uveden seznam výstupů sestavy" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "Skladové umístění pro sešrotované výstupy" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "Zahodit alokace" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "Vyřadit všechny přidělené zásoby pro vyřazené výstupy" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "Důvod vyřazení výstupu(ů) sestavy" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "Umístění dokončených výstupů sestavy" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "Přijmout neúplné přidělení" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "Dokončit výstupy pokud zásoby nebyly plně přiděleny" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "Spotřebovat přidělené zásoby" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "Spotřebovat všechny zásoby, které již byly přiděleny této sestavě" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "Odstranit neúplné výstupy" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "Odstranit všechny výstupy sestavy, které nebyly dokončeny" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "Není povoleno" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "Přijmout jako spotřebované tímto výrobním příkazem" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "Uvolnit před dokončením tohoto výrobního příkazu" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "Nadměrně přidělené zásoby" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Jak chcete zacházet s extra skladovými položkami přiřazenými k tomuto výrobnímu příkazu" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "Některé skladové položky byly nadměrně přiděleny" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "Přijmout nepřidělené" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Přijmout, že skladové položky nebyly plně přiřazeny k tomuto výrobnímu příkazu" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "Požadované zásoby nebyly plně přiděleny" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "Přijmout neúplné" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "Přijmout, že nebyl dokončen požadovaný počet výstupů sestavy" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "Požadované množství sestavy nebylo dokončeno" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "Výrobní příkaz má neúplné výstupy" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "Linka sestavy" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "Výstup sestavy" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "Výstup sestavy musí odkazovat na stejnou sestavu" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "Řádková položka sestavy" -#: build/serializers.py:945 +#: build/serializers.py:946 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:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "Položka musí být skladem" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Dostupné množství ({q}) překročeno" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "Pro přidělení sledovaných dílů musí být zadán výstup sestavy" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Výstup sestavy nelze zadat pro přidělení nesledovaných dílů" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "Položky přidělení musí být poskytnuty" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Skladové místo, odkud se mají díly odebírat (ponechte prázdné, pokud chcete odebírat z libovolného místa)" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "Vynechat lokace" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "Vyloučit skladové položky z tohoto vybraného umístění" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "Zaměnitelné zásoby" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Skladové položky na více místech lze používat zaměnitelně" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "Náhradní zásoby" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "Povolit přidělování náhradních dílů" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "Volitelné položky" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "Přiřazení volitelných položek kusovníku k objednávce sestavy" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "Nepodařilo se spustit úlohu automatického přidělování" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "Reference v kusovníku" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "ID dílu kusovníku" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "Název dílu kusovníku" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "Díl dodavatele" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "Přidělené množství" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "Název kategorie dílů" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "Sledovatelné" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "Povolit varianty" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "Položka kusovníku" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "Přidělené zásoby" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "Na objednávku" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "Ve výrobě" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "Externí zásoby" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "Dostupné zásoby" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "Dostupné náhradní zásoby" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "Dostupná varianta skladu" @@ -1429,544 +1441,544 @@ msgstr "Nejsou uvedeny žádné platné kódy měn" msgid "No plugin" msgstr "Žádný plugin" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "Aktualizováno" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "Časové razítko poslední aktualizace" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "Jedinečný kód projektu" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "Popis projektu" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "Uživatel nebo skupina odpovědná za tento projekt" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "Tlačítko nastavení" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "Hodnota nastavení" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "Zvolená hodnota není platnou možností" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "Hodnota musí být logická hodnota" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "Hodnota musí být celé číslo" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "Hodnota musí být platné číslo" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "Hodnota neprošla kontrolou platnosti" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "Klíčový text musí být jedinečný" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "Uživatel" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "Množství cenové slevy" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "Cena" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "Jednotková cena při stanoveném množství" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "Koncový bod" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "Koncový bod, ve kterém je tento webhook přijímán" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "Název tohoto webhooku" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Aktivní" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "Je tento webhook aktivní" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "Token" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "Token pro přístup" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "Tajný klíč" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "Sdílený tajný klíč pro HMAC" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "ID zprávy" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "Unikátní identifikátor pro tuto zprávu" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "Hostitel" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "Hostitel, od kterého byla tato zpráva přijata" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "Záhlaví" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "Záhlaví této zprávy" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "Tělo" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "Tělo zprávy" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "Koncový bod, na kterém byla zpráva přijata" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "Pracoval na" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "Byla práce na této zprávě dokončena?" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "ID" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "Název" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Odkaz" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "Zveřejněno" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "Autor" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "Souhrn" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "Přečteno" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "Byla tato novinka přečtena?" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "Obrazek" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "Soubor obrázku" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "Cílový typ modelu pro tento obrázek" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "Cílové ID modelu pro tento obrázek" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "Vlastní jednotka" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "Symbol jednotky musí být unikátní" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "Název jednotky musí být platný identifikátor" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "Název jednotky" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "Symbol" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "Volitelný symbol jednotky" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "Definice" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "Definice jednotky" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "Příloha" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "Chybějící soubor" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "Chybějící externí odkaz" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "Vyberte soubor k přiložení" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "Komentář" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "Komentář přílohy" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "Datum nahrání" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "Datum, kdy byl soubor nahrán" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "Velikost souboru" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "Velikost souboru v bytech" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "Uveden neplatný typ modelu pro přílohu" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "Vlastní stav" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "Vlastní stavy" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "Nastavení referenčního stavu" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "Logický klíč" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "Hodnota" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "Název stavu" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "Popisek" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "Štítek, který bude zobrazen na webu" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "Barva" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "Barva, která bude zobrazena ve frontendu" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "Model" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "Model, ke kterému je tento stav přiřazen" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "Musí být vybrán model" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "Musí být vybrán klíč" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "Musí být vybrán logický klíč" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "Klíč se musí lišit od logického klíče" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "Název se musí lišit od názvů referenčního statusu" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "Výběrové pole" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "Výběrová pole" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "Název výběrového pole" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "Popis výběrového pole" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "Uzamčeno" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "Je tento seznam výběrů uzamčen?" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "Může být tento seznam výběru použit?" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "Zdrojový plugin" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "Plugin, který poskytuje seznam výběru" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "Zdrojový řetězec" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "Volitelný řetězec identifikující zdroj použitý pro tento seznam" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "Výchozí položka" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "Výchozí položka pro tento seznam výběru" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "Vytvořeno" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "Datum a čas vytvoření výběrového seznamu" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "Poslední aktualizace" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "Datum a čas poslední aktualizace výběrového seznamu" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "Položka seznamu výběrů" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "Položky seznamu výběrů" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "Seznam výběru, do kterého tato položka patří" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Data" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "Data čárového kódu" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "Uživatel, který naskenoval čárový kód" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "Datum a čas skenování čárového kódu" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "Kontext" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "Výsledek" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "Bylo skenování čárového kódu úspěšné?" @@ -1988,7 +2000,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:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "Přijaté položky" @@ -2004,80 +2016,88 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "Naplánované úlohy" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "Neúspěšné úlohy" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "ID úlohy" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "Unikátní ID úlohy" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "Čas uzamčení" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "Jméno úkolu" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "Funkce" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "Název funkce" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "Argumenty" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "Argumenty úlohy" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "Argumenty klíčových slov" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "Argumenty klíčových slov úlohy" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "Název souboru" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "Typ modelu" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "Uživatel nemá oprávnění k vytváření nebo úpravám příloh pro tento model" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2188,8 +2208,8 @@ msgstr "Jak často aktualizovat směnné kurzy (pro vypnutí nastavte na nulu)" #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "dny" @@ -2417,8 +2437,8 @@ msgstr "Kopírovat šablony parametrů kategorie" msgid "Copy category parameter templates when creating a part" msgstr "Kopírování šablon parametrů kategorie při vytváření dílu" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "Šablona" @@ -2431,8 +2451,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:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "Komponent" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "Díly jsou nehmotné (virtuální) ve výchozím nastavení" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "Zobrazit Import v zobrazeních" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "Zobrazit průvodce importem v některých zobrazeních dílu" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "Zobrazit související díly" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "Zobrazit související díly pro díl" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "Počáteční údaje zásob" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "Povolit vytvoření počátečního skladu při přidání nové části" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "Počáteční údaje dodavatele" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Povolit vytvoření počátečních dat dodavatele při přidávání nového dílu" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "Formát zobrazení jména dílu" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "Formát pro zobrazení názvu dílu" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "Výchozí ikona kategorie dílu" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "Výchozí ikona kategorie dílu (prázdné znamená bez ikony)" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "Vynutit jednotky parametru" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "Pokud jsou uvedeny jednotky, musí hodnoty parametrů odpovídat zadaným jednotkám" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "Minimální počet desetinných míst u cen" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Minimální počet desetinných míst k zobrazení u cenových údajů" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "Maximální počet desetinných míst u cen" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Maximální počet desetinných míst k zobrazení u cenových údajů" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "Použít ceny dodavatele" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Zahrnout cenová zvýhodnění dodavatelů do celkových cenových kalkulací" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "Přepsání historie nákupu" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historické ceny nákupních objednávek mají přednost před cenovými zvýhodněními dodavatele" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "Použít ceny skladových položek" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Použít ceny z ručně zadaných skladových údajů pro cenové kalkulace" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "Stáří cen skladových položek" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Vyloučit skladové položky starší než tento počet dní z cenových kalkulací" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "Použít cenu varianty" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "Zahrnutí cen variant do celkových cenových kalkulací" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "Pouze aktivní varianty" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "Pro výpočet ceny varianty použijte pouze aktivní díly varianty" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "Interval přestavby cen" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "Počet dní před automatickou aktualizací cen dílů" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "Interní ceny" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "Povolit interní ceny pro díly" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "Přepis interní ceny" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "Pokud jsou k dispozici, interní ceny mají přednost před výpočty cenového rozpětí" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "Povolit tisk štítků" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "Povolit tisk štítků z webového rozhraní" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "DPI rozlišení štítků" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Rozlišení DPI při generování obrazových souborů, které se dodávají do zásuvných modulů pro tisk štítků" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "Povolit reporty" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "Povolit generování reportů" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "Režim ladění chyb" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "Generovat reporty v režimu ladění (HTML výstup)" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "Zaznamenávat chyby reportů" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "Zaznamenávat chyby, které se vyskytnou při vytváření reportů" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "Velikost stránky" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "Výchozí velikost stránky pro PDF reporty" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "Globálně unikátní sériová čísla" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "Sériová čísla pro skladové položky musí být globálně unikátní" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "Automaticky vyplnit sériová čísla" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "Automaticky vyplnit sériová čísla ve formulářích" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "Odstranit vyčerpané zásoby" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "Určuje výchozí chování při vyčerpání zásoby položky" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "Šablona kódu dávky" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "Šablona pro generování výchozích kódů dávky pro skladové položky" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "Expirace zásob" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "Povolit funkci expirace zásob" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "Prodat prošlé zásoby" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "Povolit prodej prošlých zásob" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "Čas stáří zásob" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "Počet dnů, po které jsou skladové položky považovány za nevyužité před uplynutím doby expirace" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "Sestavit prošlé zásoby" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "Povolit sestavování s prošlými zásobami" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "Kontrola vlastnictví zásob" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "Umožnit kontrolu vlastnictví nad skladovými místy a položkami" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "Výchozí ikona umístění zásob" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "Výchozí ikona umístění zásob (prázdné znamená bez ikony)" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "Zobrazit nainstalované skladové položky" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "Zobrazit nainstalované skladové položky ve skladových tabulkách" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "Zkontrolovat BOM při instalaci položek" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Nainstalované skladové položky musí existovat v BOM pro nadřazený díl" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "Povolit převod mimo sklad" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Umožnit přesun skladových položek, které nejsou na skladě, mezi skladovými místy" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "Referenční vzor objednávky sestavy" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "Požadovaný vzor pro generování referenčního pole Objednávka sestavy" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "Vyžadovat odpovědného vlastníka" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "Ke každé objednávce musí být přiřazen odpovědný vlastník" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "Vyžadovat aktivní díl" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "Zabránit vytváření výrobních příkazů pro neaktivní díly" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "Vyžadovat schválený kusovník" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "Zabránit vytváření výrobních příkazů, dokud není schválen kusovník" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "Blokovat, dokud testy neprojdou" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "Zobrazit informace o skladových zásobách dílů (pokud je povolena funkce inventury)" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "Délka textu v tabulce" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "Maximální délka textu v zobrazeních tabulek" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "Přijímat zprávy o chybách" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "Dostávat oznámení o systémových chybách" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "Poslední použité tiskárny" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "Uložte poslední použité tiskárny pro uživatele" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "Dodavatel je aktivní" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "Výrobce" @@ -3546,8 +3558,8 @@ msgstr "Kontaktní telefonní číslo" msgid "Contact email address" msgstr "Kontaktní e-mailová adresa" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "Kontakt" @@ -3591,7 +3603,7 @@ msgstr "Vyrábí tato společnost díly?" msgid "Default currency used for this company" msgstr "Výchozí měna používaná pro tuto společnost" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "Adresa" @@ -3701,8 +3713,8 @@ msgstr "Zvolte díl" msgid "Select manufacturer" msgstr "Vyberte výrobce" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "MPN" @@ -3730,7 +3742,7 @@ msgstr "Název parametru" msgid "Parameter value" msgstr "Hodnota parametru" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Jednotky" @@ -3751,7 +3763,7 @@ 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:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "Dodavatel" msgid "Select supplier" msgstr "Vyberte dodavatele" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "Skladová evidence dodavatele" @@ -3782,8 +3794,8 @@ msgstr "Adresa URL pro odkaz na externí díl dodavatele" msgid "Supplier part description" msgstr "Popis dílu dodavatele" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "Popis dílu dodavatele" msgid "Note" msgstr "Poznámka" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "základní cena" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimální poplatek (např. poplatek za skladování)" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "Balení" @@ -3818,7 +3830,7 @@ msgstr "Počet kusů v balení" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Celkové množství dodávané v jednom balení. Pro jednotlivé položky ponechte prázdné." -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "více" @@ -3854,15 +3866,15 @@ msgstr "Výchozí měna používaná pro tohoto dodavatele" msgid "Company Name" msgstr "Jméno společnosti" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "Skladem" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "Počet kopií, které se mají tisknout pro každý štítek" msgid "Connected" msgstr "Připojeno" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "Neznámý" @@ -4186,101 +4198,105 @@ msgstr "" msgid "Config type" msgstr "" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "Označení objednávky" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "Vytvořeno před" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "Vytvořeno po" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "Cílové datum před" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "Cílové datum po" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "Dokončeno před" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "Dokončeno po" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "Objednávka" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "Interní díl" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "Dokončeno" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Nákupní objednávka" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "Nákupní objednávka" msgid "Sales Order" msgstr "Prodejní objednávka" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "Celková cena" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Cílené datum" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "Datum vystavení" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "Datum vystavení objednávky" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "Stav" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "Společnost, od které se položky objednávají" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "Reference dodavatele" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "Referenční kód objednávky dodavatele" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "přijal" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "Datum dokončení objednávky" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "Místo určení" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "Dodavatel dílu se musí shodovat s dodavatelem PO" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "Množství musí být kladné" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Zákazník" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "Společnost, jíž se položky prodávají" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "Stav prodejní objednávky" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "Reference zákazníka " -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "Referenční kód objednávky zákazníka" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "Datum odeslání" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "odesláno společností" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "Objednávka je již dokončena" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "Objednávka je již zrušena" -#: order/models.py:1237 +#: order/models.py:1279 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:1241 +#: order/models.py:1283 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:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1251 +#: order/models.py:1293 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:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "Množství položky" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "Označení řádkové položky" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "Poznámky k řádkovým položkám" -#: order/models.py:1595 +#: order/models.py:1637 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:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "Popis řádkové položky (nepovinné)" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "Dodatečný kontext pro tento řádek" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "Cena za jednotku" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "Řádková položka nákupní objednávky" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "Dodavatelský díl musí odpovídat dodavateli" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "Díl dodavatele" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "Doručeno" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "Počet přijatých položek" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "Nákupní cena" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "Jednotková nákupní cena" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "Řádková položka prodejní objednávky" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtuální díl nelze přiřadit k prodejní objednávce" -#: order/models.py:1847 +#: order/models.py:1924 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:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "Prodejní cena" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "Jednotková prodejní cena" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "Odesláno" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "Odeslané množství" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "Datum odeslání" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "Datum doručení" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "Datum doručení zásilky" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "Kontroloval(a)" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "Uživatel, který zkontroloval tuto zásilku" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Doprava" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "Číslo zásilky" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "Sledovací číslo" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "Informace o sledování zásilky" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "Číslo faktury" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "Referenční číslo přiřazené faktury" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "Zásilka již byla odeslána" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "Zásilka nemá žádné přidělené skladové položky" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "Skladová položka nebyla přiřazena" -#: order/models.py:2218 +#: order/models.py:2301 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:2221 +#: order/models.py:2304 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:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Přidělené množství nesmí překročit množství zásob" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "Množství musí být 1 pro serializovanou skladovou položku" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "Prodejní objednávka neodpovídá zásilce" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "Zásilka neodpovídá prodejní objednávce" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "Řádek" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "Odkaz na zásilku z prodejní objednávky" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "Položka" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "Vyberte skladovou položku pro přidělení" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "Zadejte množství pro přidělení zásob" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "Reference návratové objednávky" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "Společnost, od které se vrací položky" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "Stav návratové objednávky" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "Vyberte položku pro vrácení od zákazníka" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "Datum přijetí" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "Datum přijetí této vrácené položky" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "Výsledek" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "Výsledky pro tuto položku" -#: order/models.py:2735 +#: order/models.py:2818 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:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "Řádkové položky" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "Dokončené řádky" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "Název dodavatele" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "Objednávku nelze zrušit" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "Povolit uzavření objednávky s neúplnými řádkovými položkami" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "Objednávka má nedokončené řádkové položky" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "Objednávka není otevřena" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "Automatická cena" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "Automaticky vypočítat nákupní cenu na základě údajů o dílech dodavatele" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "Měna nákupní ceny" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "Sloučit položky" -#: order/serializers.py:651 +#: order/serializers.py:658 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:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "Číslo zboží (SKU)" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "Interní číslo dílu" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "Interní název dílu" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "Musí být uveden díl dodavatele" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "Objednávka musí být zadána" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "Dodavatel musí odpovídat objednávce" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "Objednávka musí odpovídat dodavateli" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "Řádková položka" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "Řádková položka neodpovídá nákupní objednávce" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "Vyberte cílové umístění pro přijaté položky" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "Zadat kód šarže pro příchozí skladové položky" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "Zadat sériová čísla pro příchozí skladové položky" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "Přepsat informace o obalu pro příchozí skladové položky" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "Dodatečná poznámka pro příchozí skladové položky" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "Čárový kód" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "Naskenovaný čárový kód" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "Tento čárový kód se již používá" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "U sledovatelných dílů musí být uvedeno celočíselné množství" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "Musí být uvedeny řádkové položky" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "Místo určení musí být specifikováno" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "Hodnoty dodaných čárových kódů musí být unikátní" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "Zásilky" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "Dokončené zásilky" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "Přidělené položky" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "Množství musí být kladné" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "" @@ -5142,24 +5174,24 @@ msgstr "Má revize" msgid "BOM Valid" msgstr "Kusovník schválen" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Kategorie dílu" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "Kategorie dílů" @@ -5191,7 +5223,7 @@ msgstr "Výchozí klíčová slova pro díly v této kategorii" msgid "Icon" msgstr "Ikona" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "Ikona (volitelná)" @@ -5200,8 +5232,8 @@ msgstr "Ikona (volitelná)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "Díly" @@ -5316,7 +5348,7 @@ msgstr "Klíčová slova dílu pro zlepšení vyhledávání" msgid "Part category" msgstr "Kategorie dílu" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5357,7 +5389,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "" @@ -5433,847 +5465,867 @@ msgstr "" msgid "Last Stocktake" msgstr "Poslední inventura" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "Minimální cena kusovníku" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "Maximální cena kusovníku" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "Minimální nákupní cena" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "Maximální nákupní cena" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "Minimální cena variant" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "Maximální cena variant" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "Minimální cena" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "Maximální cena" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "Minimální prodejní cena" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "Maximální prodejní cena" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "Počet položek" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Datum" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "Další poznámky" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "Minimální cena zásob" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "Maximální cena zásob" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "Počet dílů" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "Název testu" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "Položku kusovníku nelze změnit - sestava je uzamčena" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "Vyberte nadřazený díl" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "Reference položky kusovníku" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "Poznámky k položce kusovníku" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "Schváleno" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "Tato položka kusovníku ještě nebyla schválena" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "Podkategorie" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "Výsledky" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "Nákupní měna této skladové položky" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "Původní díl" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "Vyberte původní díl, který má být duplikován" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "Kopírovat kusovník" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:537 +#: part/serializers.py:550 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "Název kategorie" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "Skladové položky" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "Skladové položky" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "Dodavatelé" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "Vyloučit skladové položky v externích umístěních" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "Aktualizovat díly" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "Kontrola procesů na pozadí se nezdařila" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "Aktualizovat cenu pro díl" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "Vybrat nadřazenou sestavu" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -6857,43 +6958,43 @@ msgstr "Přeskočit štítky" msgid "Skip this number of labels when printing label sheets" msgstr "" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "Štítek je příliš velký pro velikost stránky" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "Nebyly vygenerovány žádné štítky" @@ -7046,21 +7147,21 @@ msgstr "Plugin" msgid "Method" msgstr "" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "Plugin '{p}' není kompatibilní s aktuální verzí InvenTree {v}" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "Plugin vyžaduje alespoň verzi {v}" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "Plugin vyžaduje nanejvýš verzi {v}" @@ -7345,7 +7446,7 @@ msgstr "Filtry" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "" @@ -7357,56 +7458,56 @@ msgstr "" msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "Šířka [mm]" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "Šířka štítku zadaná v mm" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "Výška [mm]" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "Výška štítku uvedená v mm" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "" @@ -7694,7 +7795,7 @@ msgstr "" msgid "Stock Location" msgstr "Skladové umístění" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "Skladová umístění" @@ -7710,7 +7811,7 @@ msgstr "" 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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "Externí" @@ -8599,115 +8700,115 @@ msgstr "Odstranit" msgid "Permission to delete items" msgstr "Oprávnění k odstranění položek" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "Inventura" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "Zakoupené objednávky" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "Prodejní objednávky" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "Návratové objednávky" diff --git a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po index 7d844468bf..5d34e2b24f 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:14\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "Kunne ikke konvertere {original} til {unit}" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "Ugyldigt antal angivet" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "Fejloplysninger kan findes i admin panelet" @@ -108,9 +108,9 @@ msgstr "Angiv dato" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "Reference skal matche det påkrævede mønster" msgid "Reference number is too large" msgstr "Referencenummer er for stort" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "Ugyldigt valg" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "Navn" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "Beskrivelse" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "Beskrivelse (valgfri)" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "Sti" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "Markdown noter (valgfri)" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "Stregkode Data" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "Tredjeparts stregkode data" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "Stregkode Hash" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "Unik hash af stregkode data" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "Eksisterende stregkode fundet" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "Serverfejl" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "En fejl blev logget af serveren." -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "Skal være et gyldigt tal" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "Vælg valuta fra tilgængelige muligheder" @@ -526,29 +526,29 @@ msgstr "Overskuddet må ikke overstige 100%" msgid "Invalid value for overage" msgstr "Ugyldig værdi for overskud" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "Overordnet produktion" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "" msgid "Part" msgstr "Del" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "" @@ -646,16 +646,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Produktion skal anulleres, før den kan slettes" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "Forbrugsvare" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "Valgfri" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "" @@ -663,15 +663,15 @@ msgstr "" msgid "Tracked" msgstr "Sporet" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "Allokeret" @@ -682,52 +682,56 @@ msgstr "Allokeret" msgid "Available" msgstr "Tilgængelig" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Produktionsordre" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "Produktionsordrer" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "Ugyldigt valg for overordnet produktion" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "Byggeordre enhed kan ikke ændres" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "Produktionsordre reference" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "Produktionsordre reference" msgid "Reference" msgstr "" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Produktionsordre som er tildelt denne produktion" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "Vælg dele til produktion" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "Salgsordrereference" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "Salgsordre, som er tildelt denne produktion" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "Kilde Lokation" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Vælg lokation for lager, som skal benyttes til denne produktion (lad feltet stå tomt for at benytte vilkårligt lager)" -#: build/models.py:291 +#: build/models.py:299 +msgid "External Build" +msgstr "" + +#: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 msgid "Destination Location" msgstr "Destinations Placering" -#: build/models.py:296 +#: build/models.py:310 msgid "Select location where the completed items will be stored" msgstr "Vælg placering, hvor de færdige elementer vil blive gemt" -#: build/models.py:300 +#: build/models.py:314 msgid "Build Quantity" msgstr "Produktions antal" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "Antal lagervarer som skal produceres" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "Afsluttede elementer" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "Antal lagervarer som er færdiggjort" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "Produktions Status" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "Produktions statuskode" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "Batch Kode" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "Batch kode til dette produktions output" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "Oprettelsesdato" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "Projekteret afslutningsdato" -#: build/models.py:350 +#: build/models.py:364 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "Dato for afslutning" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "udført af" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "Udstedt af" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "Bruger som udstedte denne byggeordre" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Ansvarlig" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "Bruger eller gruppe ansvarlig for denne byggeordre" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "Ekstern link" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Link til ekstern URL" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "Bygge Prioritet" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "Prioritet af denne byggeordre" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Bygningsordre {build} er fuldført" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "En byggeordre er fuldført" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "Ikke tilladt" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "Accepter som forbrugt af denne byggeordre" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "Accepter Ikke tildelt" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Accepter at lagervarer ikke er fuldt tildelt til denne byggeordre" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "Accepter ufuldført" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "Bygge linje" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "" -#: build/serializers.py:945 +#: build/serializers.py:946 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "" @@ -1429,544 +1441,544 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "Bruger" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "Vedhæftning" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "Manglende fil" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "Manglende eksternt link" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "Vælg fil, der skal vedhæftes" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "Kommentar" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "" @@ -1988,7 +2000,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "" @@ -2004,80 +2016,88 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "Filnavn" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2188,8 +2208,8 @@ msgstr "" #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "" @@ -2417,8 +2437,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "" @@ -2431,8 +2451,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "" @@ -3546,8 +3558,8 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "" @@ -3591,7 +3603,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "" @@ -3701,8 +3713,8 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "" @@ -3730,7 +3742,7 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "" @@ -3782,8 +3794,8 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "" @@ -3818,7 +3830,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "" @@ -3854,15 +3866,15 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "" @@ -4186,101 +4198,105 @@ msgstr "" msgid "Config type" msgstr "" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "" -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1241 +#: order/models.py:1283 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1251 +#: order/models.py:1293 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "" -#: order/models.py:1595 +#: order/models.py:1637 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1847 +#: order/models.py:1924 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "Afsendt" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2218 +#: order/models.py:2301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2735 +#: order/models.py:2818 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "" @@ -5142,24 +5174,24 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "" @@ -5191,7 +5223,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "" @@ -5200,8 +5232,8 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5316,7 +5348,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5357,7 +5389,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "" @@ -5433,847 +5465,867 @@ msgstr "" msgid "Last Stocktake" msgstr "" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:537 +#: part/serializers.py:550 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "Kontrol af baggrundstjeneste mislykkedes" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -6857,43 +6958,43 @@ msgstr "" msgid "Skip this number of labels when printing label sheets" msgstr "" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "" @@ -7046,21 +7147,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7345,7 +7446,7 @@ msgstr "" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "" @@ -7357,56 +7458,56 @@ msgstr "" msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "" @@ -7694,7 +7795,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "" @@ -8599,115 +8700,115 @@ msgstr "" msgid "Permission to delete items" msgstr "" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "" diff --git a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po index fc173b2a5e..d8a4a0afdf 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-10 21:42\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -47,7 +47,7 @@ msgstr "Ungültige Filter angegeben" #: InvenTree/api.py:465 msgid "All filter must only be used with true" -msgstr "" +msgstr "Alle Filter dürfen nur mit true verwendet werden" #: InvenTree/api.py:470 msgid "No items match the provided criteria" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "Konnte {original} nicht in {unit} umwandeln" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "Keine gültige Menge" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "Fehlerdetails finden Sie im Admin-Panel" @@ -108,9 +108,9 @@ msgstr "Datum eingeben" msgid "Invalid decimal value" msgstr "Ungültiger Dezimalwert" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -277,7 +277,7 @@ msgstr "Koreanisch" #: InvenTree/locales.py:39 msgid "Lithuanian" -msgstr "" +msgstr "Litauisch" #: InvenTree/locales.py:40 msgid "Latvian" @@ -399,90 +399,90 @@ msgstr "Referenz muss erforderlichem Muster entsprechen" msgid "Reference number is too large" msgstr "Referenznummer ist zu groß" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "Doppelte Namen können nicht unter dem selben Elternteil existieren" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "Ungültige Auswahl" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "Name" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "Beschreibung" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "Beschreibung (optional)" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "Pfad" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "Markdown Notizen (optional)" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "Barcode-Daten" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "Drittanbieter-Barcode-Daten" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "Barcode-Hash" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "Eindeutiger Hash der Barcode-Daten" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "Bestehender Barcode gefunden" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "Aufgabe fehlgeschlagen" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "Hintergrundarbeiteraufgabe '{f}' fehlgeschlagen nach {n} Versuchen" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "Serverfehler" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "Ein Fehler wurde vom Server protokolliert." -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "Währung" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "Währung aus verfügbaren Optionen auswählen" @@ -526,29 +526,29 @@ msgstr "Überschuss darf 100% nicht überschreiten" msgid "Invalid value for overage" msgstr "Ungültiger Wert für Ausschuss" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Bestellstatus" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "Eltern-Bauauftrag" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "Varianten einschließen" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "Varianten einschließen" msgid "Part" msgstr "Teil" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "Kategorie" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "Vorgänger-Build" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "Mir zugewiesen" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Aufgegeben von" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "Zugewiesen zu" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "Erstellt vor" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "Erstellt nach" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "Hat Startdatum" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "Gültigkeitsdauer vor" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "Gültigkeitsdauer nach" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "geplantes Bestelldatum" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "Zieldatum vor" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "Zieldatum nach" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "Abgeschlossen vor" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "Abgeschlossen nach" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "Baum ausschließen" @@ -646,16 +646,16 @@ msgstr "Baum ausschließen" msgid "Build must be cancelled before it can be deleted" msgstr "Bauauftrag muss abgebrochen werden, bevor er gelöscht werden kann" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "Verbrauchsmaterial" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "Optional" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "Baugruppe" @@ -663,15 +663,15 @@ msgstr "Baugruppe" msgid "Tracked" msgstr "Nachverfolgt" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "Prüfbar" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "Offene Bestellung" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "Zugeordnet" @@ -682,52 +682,56 @@ msgstr "Zugeordnet" msgid "Available" msgstr "Verfügbar" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Bauauftrag" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "Bauaufträge" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "Die Stückliste wurde noch nicht kontrolliert" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "Baureihenfolge kann nicht für ein inaktives Teil erstellt werden" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "Baureihenfolge kann nicht für ein inaktives Teil erstellt werden" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "Ungültige Wahl für übergeordneten Bauauftrag" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "Verantwortlicher Benutzer oder Gruppe muss angegeben werden" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "Teil in Bauauftrag kann nicht geändert werden" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "Zieldatum muss nach dem Startdatum liegen" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "Bauauftragsreferenz" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "Bauauftragsreferenz" msgid "Reference" msgstr "Referenz" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "Kurze Beschreibung des Baus (optional)" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "Teil für den Bauauftrag wählen" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "Auftrag Referenz" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "Bestellung, die diesem Bauauftrag zugewiesen ist" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "Quell-Lagerort" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Entnahme-Lagerort für diesen Bauauftrag wählen (oder leer lassen für einen beliebigen Lagerort)" -#: build/models.py:291 +#: build/models.py:299 +msgid "External Build" +msgstr "" + +#: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 msgid "Destination Location" msgstr "Ziel-Lagerort" -#: build/models.py:296 +#: build/models.py:310 msgid "Select location where the completed items will be stored" msgstr "Lagerort an dem fertige Objekte gelagert werden auswählen" -#: build/models.py:300 +#: build/models.py:314 msgid "Build Quantity" msgstr "Bau-Anzahl" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "Anzahl der zu bauenden Lagerartikel" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "Fertiggestellte Teile" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "Anzahl der fertigen Lagerartikel" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "Bauauftrags-Status" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "Bau-Statuscode" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "Losnummer" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "Erstelldatum" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "Startdatum des Bauauftrags" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "Geplantes Startdatum des Bauauftrags" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "geplantes Fertigstellungsdatum" -#: build/models.py:350 +#: build/models.py:364 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Zieldatum für Bauauftrag-Fertigstellung." -#: build/models.py:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "Fertigstellungsdatum" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "Fertiggestellt von" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "Aufgegeben von" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "Nutzer der diesen Bauauftrag erstellt hat" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Verantwortlicher Benutzer" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "Benutzer oder Gruppe verantwortlich für diesen Bauauftrag" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "Externer Link" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Link zu einer externen URL" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "Bauauftrags-Priorität" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "Priorität dieses Bauauftrags" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Projektcode" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "Projektcode für diesen Auftrag" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "Fehler beim Abladen der Aufgabe, um die Build-Allokation abzuschließen" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Bauauftrag {build} wurde fertiggestellt" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "Ein Bauauftrag wurde fertiggestellt" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "Seriennummern müssen für nachverfolgbare Teile angegeben werden" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "kein Endprodukt angegeben" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "Endprodukt bereits hergstellt" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "Menge kann nicht größer als die Ausgangsmenge sein" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Build Ausgabe {serial} hat nicht alle erforderlichen Tests bestanden" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "Bauauftragsposition" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "Objekt bauen" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "Objekt bauen" msgid "Quantity" msgstr "Anzahl" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "Erforderliche Menge für Auftrag" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Bauauftragsposition muss ein Endprodukt festlegen, da der übergeordnete Teil verfolgbar ist" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Zugewiesene Menge ({q}) darf nicht verfügbare Menge ({a}) übersteigen" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "BestandObjekt ist zu oft zugewiesen" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Reserviermenge muss größer null sein" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "Ausgewählter Lagerbestand stimmt nicht mit BOM-Linie überein" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "Lagerartikel" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "Quell-Lagerartikel" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "Anzahl an Lagerartikel dem Bauauftrag zuweisen" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "Installiere in" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "Ziel-Lagerartikel" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "Name des Teils" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "Endprodukt" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "Endprodukt stimmt nicht mit übergeordnetem Bauauftrag überein" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "Endprodukt entspricht nicht dem Teil des Bauauftrags" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "Dieses Endprodukt wurde bereits fertiggestellt" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "Dieses Endprodukt ist nicht vollständig zugewiesen" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "Menge der Endprodukte angeben" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "Ganzzahl für verfolgbare Teile erforderlich" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Ganzzahl erforderlich da die Stückliste nachverfolgbare Teile enthält" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "Seriennummer" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "Seriennummer für dieses Endprodukt eingeben" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "Lagerort" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "Lagerort für Bauprodukt" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "Seriennummern automatisch zuweisen" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" msgstr "Benötigte Lagerartikel automatisch mit passenden Seriennummern zuweisen" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "Die folgenden Seriennummern existieren bereits oder sind ungültig" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "Eine Liste von Endprodukten muss angegeben werden" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "Lagerort für ausgemusterte Ausgänge" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "Zuteilungen verwerfen" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "Bestandszuteilung für ausgemusterte Endprodukte verwerfen" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "Grund für das Verwerfen des Bauauftrages/der Bauaufträge" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "Lagerort für fertige Endprodukte" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "Unvollständige Zuweisung akzeptieren" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "Endprodukte fertigstellen, auch wenn Bestand nicht fertig zugewiesen wurde" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "Zugewiesen Bestand verbrauchen" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "Verbrauche alle Bestände, die diesem Bauauftrag bereits zugewiesen wurden" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "Unfertige Endprodukte entfernen" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "Lösche alle noch nicht abgeschlossenen Endprodukte" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "Nicht erlaubt" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "Als von diesem Bauauftrag verbraucht setzen" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "Bestandszuordnung vor dem Abschluss dieses Bauauftrags freigeben" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "Überbelegter Lagerbestand" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Wie sollen zusätzliche Lagerbestandteile, die dem Bauauftrag zugewiesen wurden, behandelt werden" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "Der Bestand einiger Lagerartikel ist überbelegt" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "Nicht zugewiesene akzeptieren" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Akzeptieren, dass Lagerartikel diesem Bauauftrag nicht vollständig zugewiesen wurden" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "Benötigter Bestand wurde nicht vollständig zugewiesen" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "Unvollständig Zuweisung akzeptieren" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "Akzeptieren, dass die erforderliche Anzahl der Bauaufträge nicht abgeschlossen ist" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "Bauauftrag hat unvollständige Aufbauten" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "Bauauftragsposition" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "Endprodukt" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "Endprodukt muss auf den gleichen Bauauftrag verweisen" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "Bauauftragspositionsartikel" -#: build/serializers.py:945 +#: build/serializers.py:946 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:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "Teil muss auf Lager sein" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Verfügbare Menge ({q}) überschritten" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "Für Zuweisung von verfolgten Teilen muss ein Endprodukt angegeben sein" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Endprodukt kann bei Zuweisung nicht-verfolgter Teile nicht angegeben werden" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "Zuweisungen müssen angegeben werden" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Lagerort, von dem Teile bezogen werden sollen (leer lassen, um sie von jedem Lagerort zu nehmen)" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "Lagerort ausschließen" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "Lagerartikel vom ausgewählten Ort ausschließen" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "Wechselbares Lagerbestand" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Lagerartikel an mehreren Standorten können austauschbar verwendet werden" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "Ersatzbestand" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "Zuordnung von Ersatzteilen erlauben" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "Optionale Positionen" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "Optionale Stücklisten-Positionen dem Bauauftrag hinzufügen" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "Fehler beim Starten der automatischen Zuweisung" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "Stücklisten-Referenz" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "Zusammenbau" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "Zuliefererteil" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "Zugewiesene Menge" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "Nachverfolgbar" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "Vererbt" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "Varianten zulassen" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "Stücklisten-Position" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "Zugewiesener Bestand" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "Bestellt" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "In Produktion" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "Externes Lager" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "Verfügbarer Bestand" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "Verfügbares Ersatzmaterial" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "" @@ -1429,544 +1441,544 @@ msgstr "" msgid "No plugin" msgstr "Kein Plugin" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "Aktualisiert" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "Zeitstempel der letzten Aktualisierung" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "Eindeutiger Projektcode" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "Projektbeschreibung" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "Benutzer oder Gruppe verantwortlich für dieses Projekt" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "Einstellungs-Wert" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "Wert ist keine gültige Option" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "Wahrheitswert erforderlich" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "Nur Ganzzahl eingeben" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "Schlüsseltext muss eindeutig sein" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "Benutzer" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "Preis" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "Stückpreis für die angegebene Anzahl" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "Endpunkt" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "Endpunkt, an dem dieser Webhook empfangen wird" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "Name für diesen Webhook" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Aktiv" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "Ist dieser Webhook aktiv" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "Token" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "Token für Zugang" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "Geheimnis" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "Shared Secret für HMAC" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "Nachrichten-ID" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "Eindeutige Kennung für diese Nachricht" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "Host" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "Host von dem diese Nachricht empfangen wurde" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "Kopfzeile" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "Header dieser Nachricht" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "Body" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "Body dieser Nachricht" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "Endpunkt, über den diese Nachricht empfangen wurde" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "Bearbeitet" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "ID" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "Titel" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Link" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "Veröffentlicht" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "Autor" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "Zusammenfassung" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "Gelesen" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "Wurde diese Nachricht gelesen?" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "Bild" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "Bilddatei" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "Benutzerdefinierte Einheit" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "Einheitensymbol muss eindeutig sein" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "Einheitsname muss eine gültige Kennung sein" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "Einheitsname" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "Symbol" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "Optionales Einheitssymbol" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "Definition" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "Einheitsdefinition" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "Anhang" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "Fehlende Datei" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "Fehlender externer Link" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "Datei zum Anhängen auswählen" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "Kommentar" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "Upload Datum" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "Datum der hochgeladenen Datei" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "Dateigröße" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "Dateigröße in Bytes" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "Ungültiger Modelltyp für Anhang angegeben" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "Wert" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "Name des Bundeslandes" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "Bezeichnung" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "Bezeichnung, die im Frontend angezeigt wird" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "Farbe" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "Farbe, die im Frontend angezeigt wird" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "Name muss sich von den Namen des Referenzstatus unterscheiden" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "Auswahlliste" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "Auswahllisten" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "Name der Auswahlliste" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "Beschreibung der Auswahlliste" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "Gesperrt" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "Ist diese Auswahlliste gesperrt?" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "Kann diese Auswahlliste benutzt werden?" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "Erstellt" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "Zuletzt aktualisiert" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Wert" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "Zeitstempel" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "Kontext" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "Ergebnis" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "" @@ -1988,7 +2000,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:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "Artikel erhalten" @@ -2004,80 +2016,88 @@ msgstr "Artikel wurden aus einer Rücksendung erhalten" msgid "Error raised by plugin" msgstr "Fehler in Plugin aufgetreten" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "Wird ausgeführt" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "Anstehende Aufgaben" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "Geplante Aufgaben" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "Fehlgeschlagene Aufgaben" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "Aufgabe-ID" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "Eindeutige Aufgaben-ID" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "Sperren" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "Sperrzeit" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "Aufgabenname" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "Funktion" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "Funktionsname" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "Parameter" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "Aufgaben-Parameter" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "Schlüsselwort Parameter" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "Schlüsselwort Parameter für Aufgaben" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "Dateiname" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "Modelltyp" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "Benutzer hat keine Berechtigung, Anhänge für dieses Modell zu erstellen oder zu bearbeiten" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2188,8 +2208,8 @@ msgstr "Wie oft Wechselkurse aktualisiert werden sollen (auf Null zum Deaktivier #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "Tage" @@ -2417,8 +2437,8 @@ msgstr "Kategorie-Parametervorlage kopieren" msgid "Copy category parameter templates when creating a part" msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "Vorlage" @@ -2431,8 +2451,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:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "Komponente" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "Teile sind grundsätzlich virtuell" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "Import in Ansichten anzeigen" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "Importassistent in einigen Teil-Ansichten anzeigen" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "Verwandte Teile anzeigen" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "Verwandte Teile eines Teils anzeigen" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "Initialer Lagerbestand" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "Erstellen von Lagerbestand beim Hinzufügen eines neuen Teils erlauben" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "Initiale Lieferantendaten" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Erstellen von Lieferantendaten beim Hinzufügen eines neuen Teils erlauben" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "Anzeigeformat für Teilenamen" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "Format für den Namen eines Teiles" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "Standardsymbol der Teilkategorie" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "Standardsymbol der Teilkategorie (leer bedeutet kein Symbol)" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "Parameter Einheiten durchsetzen" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "Wenn Einheiten angegeben werden, müssen die Parameterwerte mit den angegebenen Einheiten übereinstimmen" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "Dezimalstellen für minimalen Preis" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Mindestanzahl der Dezimalstellen bei der Darstellung der Preisdaten" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "Dezimalstellen für maximalen Preis" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Maximale Anzahl der Dezimalstellen bei der Darstellung der Preisdaten" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "Zulieferer-Preise verwenden" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Lieferanten-Staffelpreise in die Gesamt-Preisberechnungen einbeziehen" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "Kaufverlauf überschreiben" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historische Bestellungspreise überschreiben die Lieferanten-Staffelpreise" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "Lagerartikel-Preis verwenden" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Preise aus manuell eingegebenen Lagerdaten für Preisberechnungen verwenden" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "Lagerartikelpreis Alter" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Lagerartikel, die älter als diese Anzahl an Tagen sind, von der Preisberechnung ausschließen" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "Variantenpreise verwenden" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "Variantenpreise in die Gesamt-Preisberechnungen einbeziehen" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "Nur aktive Varianten" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "Nur aktive Variantenteile zur Berechnung der Variantenbepreisung verwenden" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "Intervall für Neuberechnung von Preisen" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "Anzahl der Tage bis die Teile-Preisberechnungen automatisch aktualisiert werden" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "Interne Preise" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "Interne Preise für Teile aktivieren" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "Interne Preisüberschreibung" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "Falls verfügbar, überschreiben interne Preise Preispannenberechnungen" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "Labeldruck aktivieren" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "Labeldruck über die Website aktivieren" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "Label Bild DPI" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "DPI-Auflösung bei der Erstellung von Bilddateien für Etikettendruck-Plugins" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "Berichte aktivieren" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "Berichterstellung aktivieren" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "Entwickler-Modus" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "Berichte im Entwickler-Modus generieren (als HTML)" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "Berichtsfehler protokollieren" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "Fehler, die beim Erstellen von Berichten auftreten, protokollieren" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "Seitengröße" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "Standardseitenformat für PDF-Bericht" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "Global einzigartige Seriennummern" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "Seriennummern für Lagerartikel müssen global eindeutig sein" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "Seriennummern automatisch ausfüllen" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "Seriennummern in Formularen automatisch ausfüllen" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "Erschöpften Lagerartikel löschen" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "Legt das Standardverhalten fest, wenn ein Lagerartikel aufgebraucht ist" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "Losnummer Vorlage" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "Vorlage für die Generierung von Standard-Losnummern für Lagerbestände" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "Bestands-Ablauf" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "Ablaufen von Bestand ermöglichen" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "Abgelaufenen Bestand verkaufen" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "Verkauf von abgelaufenem Bestand erlaubt" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "Bestands-Stehzeit" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "Anzahl an Tagen, an denen Bestand als abgestanden markiert wird, bevor sie ablaufen" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "Abgelaufenen Bestand verbauen" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "Verbauen von abgelaufenen Bestand erlaubt" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "Bestands-Eigentümerkontrolle" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "Standardsymbol für Lagerort" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "Standardsymbol für Lagerstandort (leer bedeutet kein Symbol)" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "Zeige installierte Lagerartikel" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "Anzeige der installierten Lagerartikel in Bestandstabellen" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "Prüfe BOM bei der Installation von Elementen" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Installierte Lagerbestandteile müssen im BOM für den übergeordneten Teil vorhanden sein" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "Erlaube Verschieben von \"nicht auf Lager\" Bestand" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Lagerartikel, die nicht auf Lager sind, können zwischen Lagerstandorten übertragen werden" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "Bauauftragsreferenz-Muster" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Bauaufträge" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "Verantwortlicher Besitzer erforderlich" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "Jeder Bestellung muss ein verantwortlicher Besitzer zugewiesen werden" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "Blockieren bis Test bestanden" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "Zeigt Inventur-Informationen an (falls die Inventurfunktion aktiviert ist)" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "Zeichenkettenlänge in Tabellen" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "Maximale Länge für Zeichenketten, die in Tabellenansichten angezeigt werden" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "Fehlerberichte empfangen" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "Benachrichtigungen bei Systemfehlern erhalten" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "Zuletzt verwendete Druckmaschinen" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "Die zuletzt benutzten Druckmaschinen für einen Benutzer speichern" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "Lieferant ist aktiv" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "Hersteller" @@ -3546,8 +3558,8 @@ msgstr "Kontakt-Telefon" msgid "Contact email address" msgstr "Kontakt-Email" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "Kontakt" @@ -3591,7 +3603,7 @@ msgstr "Produziert diese Firma Teile?" msgid "Default currency used for this company" msgstr "Standard-Währung für diese Firma" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "Adresse" @@ -3701,8 +3713,8 @@ msgstr "Teil auswählen" msgid "Select manufacturer" msgstr "Hersteller auswählen" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "MPN" @@ -3730,7 +3742,7 @@ msgstr "Parametername" msgid "Parameter value" msgstr "Parameterwert" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Einheiten" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "Zulieferer" msgid "Select supplier" msgstr "Zulieferer auswählen" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "Lagerbestandseinheit (SKU) des Zulieferers" @@ -3782,8 +3794,8 @@ msgstr "Teil-URL des Zulieferers" msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "Zuliefererbeschreibung des Teils" msgid "Note" msgstr "Notiz" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "Basiskosten" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "Verpackungen" @@ -3818,7 +3830,7 @@ msgstr "Packmenge" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Gesamtmenge, die in einer einzelnen Packung geliefert wird. Für Einzelstücke leer lassen." -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "Vielfache" @@ -3854,15 +3866,15 @@ msgstr "Standard-Währung für diesen Zulieferer" msgid "Company Name" msgstr "Firmenname" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "Auf Lager" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "Anzahl der zu druckenden Kopien für jedes Label" msgid "Connected" msgstr "Verbunden" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "Unbekannt" @@ -4186,101 +4198,105 @@ msgstr "Maschinenkonfiguration" msgid "Config type" msgstr "Konfigurationstyp" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "Bestellreferenz" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "Ausstehend" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "Erstellt von" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "Hat Preise" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "Bestellung" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "Bestellung abgeschlossen" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "Internes Teil" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "Bestellung ausstehend" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "Fertig" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Bestellung" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "Bestellung" msgid "Sales Order" msgstr "Auftrag" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "Rücksendeauftrag" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "Gesamtpreis" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "Gesamtpreis für diese Bestellung" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "Auftragswährung" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "Währung für diesen Auftrag (leer lassen, um Firmenstandard zu verwenden)" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "Kontakt stimmt nicht mit der ausgewählten Firma überein" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "Auftragsbeschreibung (optional)" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "Projektcode für diesen Auftrag auswählen" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "Link auf externe Seite" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Zieldatum" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Geplantes Lieferdatum für Auftrag." -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "Aufgabedatum" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "Datum an dem die Bestellung aufgegeben wurde" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "Nutzer oder Gruppe der/die für diesen Auftrag zuständig ist/sind" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "Ansprechpartner für diesen Auftrag" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "Firmenadresse für diesen Auftrag" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "Bestell-Referenz" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "Status" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "Bestellungs-Status" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "Firma bei der die Teile bestellt werden" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "Zulieferer-Referenz" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "Zulieferer Bestellreferenz" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "Empfangen von" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "Datum an dem der Auftrag fertigstellt wurde" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "Ziel-Lager" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "Teile-Zulieferer muss dem Zulieferer der Bestellung entsprechen" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "Anzahl muss eine positive Zahl sein" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Kunde" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "Firma an die die Teile verkauft werden" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "Kundenreferenz" -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "Bestellreferenz" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "Versanddatum" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "Versand von" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "Bestellung ist bereits abgeschlossen" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "Bestellung ist bereits storniert" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "Nur ein offener Auftrag kann als abgeschlossen markiert werden" -#: order/models.py:1241 +#: order/models.py:1283 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:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1251 +#: order/models.py:1293 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:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "Anzahl" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "Position - Referenz" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "Position - Notizen" -#: order/models.py:1595 +#: order/models.py:1637 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:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "Positionsbeschreibung (optional)" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "Zusätzlicher Kontext für diese Zeile" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "Stückpreis" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "Lieferantenteil muss mit Lieferant übereinstimmen" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "Zuliefererteil" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "Empfangen" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "Preis" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "Preis pro Einheit" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "Ein virtuelles Teil kann nicht einem Auftrag zugeordnet werden" -#: order/models.py:1847 +#: order/models.py:1924 msgid "Only salable parts can be assigned to a sales order" msgstr "Nur verkaufbare Teile können einem Auftrag zugewiesen werden" -#: order/models.py:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "Verkaufspreis" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "Stückverkaufspreis" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "Versendet" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "Versendete Menge" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "Versanddatum" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "Lieferdatum" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "Versanddatum" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "Kontrolliert von" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "Benutzer, der diese Sendung kontrolliert hat" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Sendung" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "Sendungsnummer" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "Sendungsverfolgungsnummer" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "Informationen zur Sendungsverfolgung" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "Rechnungsnummer" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "Referenznummer für zugehörige Rechnung" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "Sendung wurde bereits versandt" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "Sendung hat keine zugewiesene Lagerartikel" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "Lagerartikel wurde nicht zugewiesen" -#: order/models.py:2218 +#: order/models.py:2301 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:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "Kann Lagerartikel keiner Zeile ohne Teil hinzufügen" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "Anzahl für serialisierte Lagerartikel muss 1 sein" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "Auftrag gehört nicht zu Sendung" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "Sendung gehört nicht zu Auftrag" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "Position" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "Sendungsnummer-Referenz" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "Position" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "Lagerartikel für Zuordnung auswählen" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "Rücksendungsreferenz" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "Firma von der die Artikel zurückgeschickt werden" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "Status der Rücksendung" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "Artikel zur Rücksendung auswählen" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "Empfangsdatum" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "Das Datum des Empfangs dieses Rücksendeartikels" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "Ergebnis" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "Ergebnis für dieses Zeilenelement" -#: order/models.py:2735 +#: order/models.py:2818 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:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "Positionen" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "Abgeschlossene Positionen" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "Lieferant" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "Bestellung kann nicht verworfen werden" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "Erlaube das Schließen des Auftrags mit unvollständigen Positionen" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "Auftrag hat unvollständige Positionen" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "Der Auftrag ist nicht offen" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "Automatische Preisgestaltung" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "Kaufpreis automatisch basierend auf Lieferantenbestandsdaten berechnen" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "Kaufpreiswährung" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "Elemente zusammenfügen" -#: order/serializers.py:651 +#: order/serializers.py:658 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:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "Lieferanten-Teilenummer" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "Interne Teilenummer" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "Zuliefererteil muss ausgewählt werden" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "Bestellung muss angegeben sein" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "Lieferant muss mit der Bestellung übereinstimmen" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "Die Bestellung muss mit dem Lieferant übereinstimmen" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "Position" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "Position stimmt nicht mit Kaufauftrag überein" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "Zielort für empfangene Teile auswählen" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "Losnummer für eingehende Lagerartikel" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "Ablaufdatum" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "Seriennummern für eingehende Lagerartikel" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "Barcode" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "Gescannter Barcode" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "Barcode ist bereits in Verwendung" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "Ganzzahl für verfolgbare Teile erforderlich" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "Positionen müssen angegeben werden" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "Ziel-Lagerort muss angegeben werden" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "Barcode muss eindeutig sein" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "Abgeschlossene Sendungen" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "Verkaufspreis-Währung" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "Keine Sendungsdetails angegeben" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "Position ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "Anzahl muss positiv sein" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "Seriennummern zum Zuweisen eingeben" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "Sendung wurde bereits versandt" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "Sendung ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "Folgende Serienummern konnten nicht gefunden werden" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "Artikel der Bestellzeile zurücksenden" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "Artikel entspricht nicht der Rücksendeschrift" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "Artikel wurde bereits erhalten" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "Artikel können nur bei laufenden Bestellungen empfangen werden" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "Verkaufspreis-Währung" @@ -5142,24 +5174,24 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "Verwendet" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Teil-Kategorie" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "Teil-Kategorien" @@ -5191,7 +5223,7 @@ msgstr "Standard-Stichworte für Teile dieser Kategorie" msgid "Icon" msgstr "Symbol" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "Symbol (optional)" @@ -5200,8 +5232,8 @@ msgstr "Symbol (optional)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Sie können diese Teilekategorie nicht als strukturell festlegen, da ihr bereits Teile zugewiesen sind!" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "Teile" @@ -5316,7 +5348,7 @@ msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" msgid "Part category" msgstr "Teile-Kategorie" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN (Interne Produktnummer)" @@ -5357,7 +5389,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:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "Minimaler Bestand" @@ -5433,847 +5465,867 @@ msgstr "Verantwortlicher Besitzer für dieses Teil" msgid "Last Stocktake" msgstr "Letzte Inventur" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "Mehrere verkaufen" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "Währung für die Berechnung der Preise im Cache" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "Minimale Stücklisten Kosten" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "Minimale Kosten für Teile" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "Maximale Stücklisten Kosten" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "Maximale Kosten für Teile" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "Minimale Einkaufskosten" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "Minimale historische Kaufkosten" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "Maximale Einkaufskosten" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "Maximale historische Einkaufskosten" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "Minimaler interner Preis" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "Minimale Kosten basierend auf den internen Staffelpreisen" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "Maximaler interner Preis" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "Maximale Kosten basierend auf internen Preisstaffeln" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "Minimaler Lieferantenpreis" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "Mindestpreis für Teil von externen Lieferanten" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "Maximaler Lieferantenpreis" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "Maximaler Preis für Teil von externen Lieferanten" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "Minimale Variantenkosten" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "Berechnete minimale Kosten für Variantenteile" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "Maximale Variantenkosten" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "Berechnete maximale Kosten für Variantenteile" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "Minimale Kosten" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "Mindestkosten überschreiben" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "Maximale Kosten" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "Maximale Kosten überschreiben" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "Berechnete Mindestkosten" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "Berechnete Maximalkosten" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "Mindestverkaufspreis" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "Mindestverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "Maximaler Verkaufspreis" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "Maximalverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "Mindestverkaufskosten" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "Minimaler historischer Verkaufspreis" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "Maximale Verkaufskosten" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "Maximaler historischer Verkaufspreis" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "Teil für die Inventur" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "Stückzahl" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "Anzahl einzelner Bestandseinträge zum Zeitpunkt der Inventur" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Datum" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "Datum der Inventur" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "Zusätzliche Notizen" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "Benutzer, der diese Inventur durchgeführt hat" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "Mindestbestandswert" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "Geschätzter Mindestwert des vorhandenen Bestands" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "Maximaler Bestandswert" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "Geschätzter Maximalwert des vorhandenen Bestands" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "Bericht" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "Inventur-Berichtsdatei (intern generiert)" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "Anzahl der Teile" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "Anzahl der Teile, die von der Inventur abgedeckt werden" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "Benutzer, der diesen Inventurbericht angefordert hat" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Ungültiger Vorlagenname - es muss mindestens ein alphanumerisches Zeichen enthalten sein" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "Auswahl muss einzigartig sein" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "Testvorlage mit demselben Schlüssel existiert bereits für Teil" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "Test-Name" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "Namen für diesen Test eingeben" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "Testschlüssel" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "Vereinfachter Schlüssel zum Test" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "Test-Beschreibung" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "Aktiviert" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "Ist dieser Test aktiviert?" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "Benötigt" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "Muss dieser Test erfolgreich sein?" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "Erfordert Wert" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "Muss für diesen Test ein Wert für das Test-Ergebnis eingetragen werden?" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "Anhang muss eingegeben werden" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "Muss für diesen Test ein Anhang für das Test-Ergebnis hinzugefügt werden?" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "Auswahlmöglichkeiten" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "Gültige Optionen für diesen Test (durch Komma getrennt)" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "Checkbox-Parameter können keine Einheiten haben" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "Checkbox-Parameter können keine Auswahl haben" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "Vorlagen-Name des Parameters muss eindeutig sein" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "Name des Parameters" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "Physikalische Einheiten für diesen Parameter" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "Parameter-Beschreibung" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "Checkbox" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "Ist dieser Parameter eine Checkbox?" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "Gültige Optionen für diesen Parameter (durch Kommas getrennt)" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "Ungültige Auswahl für Parameterwert" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "Ausgangsteil" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "Parameter Vorlage" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "Parameter Wert" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "Standard-Wert" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "Standard Parameter Wert" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "Untergeordnetes Teil" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "Diese Stücklisten-Position ist optional" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Diese Stücklisten-Position ist ein Verbrauchsartikel (sie wird nicht in Bauaufträgen verfolgt)" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "Überschuss" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschätzter Ausschuss (absolut oder prozentual)" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "Referenz der Postion auf der Stückliste" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "Notizen zur Stücklisten-Position" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "Prüfsumme" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "überprüft" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "Diese Stücklistenposition wurde validiert" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "Wird vererbt" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Diese Stücklisten-Position wird in die Stücklisten von Teil-Varianten vererbt" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Bestand von Varianten kann für diese Stücklisten-Position verwendet werden" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "Zuliefererteil muss festgelegt sein" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "Stücklisten Ersatzteile" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "Übergeordnete Stücklisten Position" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "Ersatzteil" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "Teil 1" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "Teil 2" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "verknüpftes Teil auswählen" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "Teil-Beziehung kann nicht zwischen einem Teil und sich selbst erstellt werden" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "Doppelte Beziehung existiert bereits" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "Übergeordnete Kategorie" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "Übergeordnete Teilkategorie" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "Unter-Kategorien" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "Ergebnisse" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "Anzahl der Ergebnisse, die in dieser Vorlage aufgezeichnet wurden" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "Kaufwährung dieses Lagerartikels" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "Anzahl der Teile, die diese Vorlage verwenden" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "Originalteil" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "Originalteil zum Duplizieren auswählen" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "Bild kopieren" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "Bild vom Originalteil kopieren" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "Stückliste kopieren" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "Stückliste vom Originalteil kopieren" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "Parameter kopieren" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "Parameterdaten vom Originalteil kopieren" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "Anmerkungen kopieren" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "Notizen aus Originalteil kopieren" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "Start-Bestandsmenge" -#: part/serializers.py:537 +#: part/serializers.py:550 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:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "Initialer Lagerort" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "Lagerstandort für dieses Teil angeben" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "Lieferant auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "Hersteller auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "Hersteller-Teilenummer" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "Ausgewählte Firma ist kein gültiger Lieferant" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "Ausgewählte Firma ist kein gültiger Hersteller" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "Herstellerteil mit dieser MPN existiert bereits" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "Lieferantenteil mit dieser SKU existiert bereits" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "Kategoriename" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "Im Bau" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "Lagerartikel" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "Lagerartikel" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "Zulieferer" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Gesamtbestand" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "Nicht zugewiesenes Lager" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "Alternatives Lager" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "Teil duplizieren" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "Initiale Daten von anderem Teil kopieren" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "Initialer Lagerbestand" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "Erstelle Teil mit Ausgangsbestand" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "Lieferanteninformationen" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "Lieferanteninformationen zu diesem Teil hinzufügen" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "Kategorieparameter kopieren" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "Parametervorlagen aus der ausgewählten Teilkategorie kopieren" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "Vorhandenes Bild" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "Dateiname eines vorhandenen Teilbildes" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "Bilddatei existiert nicht" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Inventurbericht auf ein bestimmtes Teil und alle Variantenteile beschränken" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Inventurbericht auf eine bestimmte Teilekategorie und alle untergeordneten Kategorien beschränken" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Inventurbericht auf einen bestimmten Lagerort und alle untergeordneten Lagerorte beschränken" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "Externen Bestand ausschließen" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "Lagerartikel an externen Orten ausschließen" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "Bericht generieren" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "Erstelle Berichtsdatei mit berechneten Inventurdaten" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "Teile aktualisieren" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "Angegebene Teile mit berechneten Inventurdaten aktualisieren" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "Inventur-Funktionalität ist nicht aktiviert" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "Hintergrund-Prozess-Kontrolle fehlgeschlagen" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "Niedrigster Preis" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "Berechneten Wert für Mindestpreis überschreiben" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "Mindestpreis Währung" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "Höchster Preis" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "Berechneten Wert für maximalen Preis überschreiben" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "Maximalpreis Währung" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "Aktualisieren" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "Preis für dieses Teil aktualisieren" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, 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:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "Mindestpreis darf nicht größer als der Maximalpreis sein" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "Der Maximalpreis darf nicht kleiner als der Mindestpreis sein" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "Herstellbar" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "Teil auswählen, von dem Stückliste kopiert wird" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "Bestehende Daten entfernen" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "Bestehende Stücklisten-Positionen vor dem Kopieren entfernen" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "Vererbtes einschließen" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "Stücklisten-Positionen einbeziehen, die von Vorlage-Teilen geerbt werden" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "Ungültige Zeilen überspringen" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "Aktiviere diese Option, um ungültige Zeilen zu überspringen" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "Ersatzteile kopieren" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "Ersatzteile beim Duplizieren von Stücklisten-Positionen kopieren" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "Bietet native Unterstützung für Barcodes" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "Bietet native Unterstützung für Barcodes" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "Bietet native Unterstützung für das Drucken von PDF-Etiketten" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "Debug-Modus" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "Debug-Modus aktivieren - gibt Roh-HTML statt PDF zurück" @@ -6857,43 +6958,43 @@ msgstr "Etiketten überspringen" msgid "Skip this number of labels when printing label sheets" msgstr "Diese Anzahl der Etiketten beim Drucken von Etiketten überspringen" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "Rand" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "Einen Rahmen um jedes Label drucken" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "Querformat" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "Labelblatt im Querformat drucken" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "InvenTree Etikettendrucker" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "Anordnen mehrerer Etiketten auf einem einzigen Blatt" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "Label ist zu groß für Seitengröße" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "Es wurden keine Etiketten generiert" @@ -7046,21 +7147,21 @@ msgstr "Plugin" msgid "Method" msgstr "Methode" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "Kein Autor gefunden" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "Plugin '{p}' ist nicht kompatibel mit der aktuellen InvenTree Version {v}" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "Plugin benötigt mindestens Version {v}" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "Plugin benötigt maximal Version {v}" @@ -7345,7 +7446,7 @@ msgstr "Filter" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "" @@ -7357,56 +7458,56 @@ msgstr "Seitengröße für PDF-Berichte" msgid "Render report in landscape orientation" msgstr "Bericht in Querformat anzeigen" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "Breite [mm]" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "Label-Breite in mm" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "Höhe [mm]" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "Label-Höhe in mm" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "Schnipsel" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "Berichts-Snippet" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "Snippet-Beschreibung" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "Ressource" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "Berichts-Ressource" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "Ressource-Beschreibung" @@ -7694,7 +7795,7 @@ msgstr "Standardsymbol für alle Orte, die kein Icon gesetzt haben (optional)" msgid "Stock Location" msgstr "Bestand-Lagerort" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "Bestand-Lagerorte" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "Extern" @@ -8599,115 +8700,115 @@ msgstr "Löschen" msgid "Permission to delete items" msgstr "Berechtigung Einträge zu löschen" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "Admin" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "Inventur" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "Bestellungen" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "Aufträge" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "Rücksendeaufträge" diff --git a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po index 9da57474bc..02d750f2a1 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:14\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "Δεν ήταν δυνατή η μετατροπή από {original} σε {unit}" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "Μη έγκυρη ποσότητα" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "Μπορείτε να βρείτε λεπτομέρειες σφάλματος στον πίνακα διαχείρισης" @@ -108,9 +108,9 @@ msgstr "Εισάγετε ημερομηνία" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "Η αναφορά πρέπει να ταιριάζει με το απα msgid "Reference number is too large" msgstr "Ο αριθμός αναφοράς είναι πολύ μεγάλος" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "Διπλότυπα ονόματα δεν μπορούν να υπάρχουν στον ίδιο γονέα" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "Μη έγκυρη επιλογή" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "Όνομα" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "Περιγραφή" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "Περιγραφή (προαιρετική)" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "Μονοπάτι" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "Σημειώσεις Markdown (προαιρετικό)" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "Στοιχεία Barcode" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "Δεδομένα barcode τρίτων" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "Μοναδικό hash δεδομένων barcode" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "Βρέθηκε υπάρχων barcode" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "Σφάλμα διακομιστή" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "Ένα σφάλμα έχει καταγραφεί από το διακομιστή." -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "Πρέπει να είναι αριθμός" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "Νόμισμα" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "Επιλέξτε νόμισμα από τις διαθέσιμες επιλογές" @@ -526,29 +526,29 @@ msgstr "Η μέση τιμή δεν πρέπει να υπερβαίνει το msgid "Invalid value for overage" msgstr "Μη έγκυρη τιμή για υπέρβαση" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "Γονική Κατασκευή" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "" msgid "Part" msgstr "Εξάρτημα" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Εκδόθηκε από" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "" @@ -646,16 +646,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Η έκδοση πρέπει να ακυρωθεί πριν διαγραφεί" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "Αναλώσιμο" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "Προαιρετικό" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "" @@ -663,15 +663,15 @@ msgstr "" msgid "Tracked" msgstr "Υπό παρακολούθηση" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "Κατανεμημένο" @@ -682,52 +682,56 @@ msgstr "Κατανεμημένο" msgid "Available" msgstr "Διαθέσιμο" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Σειρά Κατασκευής" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "Δημιουργία Παραγγελιών" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "Μη έγκυρη επιλογή για γονική κατασκευή" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "Εξάρτημα από εντολή κατασκευής δεν μπορεί να αλλάξει" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "Αναφορά Παραγγελίας Κατασκευής" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "Αναφορά Παραγγελίας Κατασκευής" msgid "Reference" msgstr "Αναφορά" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "Σύντομη περιγραφή της κατασκευής (προαιρετικό)" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατασκευή" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "Επιλέξτε τμήμα για κατασκευή" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "Κωδικός Παραγγελίας Πωλήσεων" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "SalesOrder στην οποία έχει διατεθεί αυτό το build" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "Τοποθεσία Προέλευσης" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Επιλέξτε τοποθεσία από την οποία θα γίνει απόθεμα, για αυτή την κατασκευή (αφήστε κενό για να πάρετε από οποιαδήποτε θέση αποθήκευσης)" -#: build/models.py:291 +#: build/models.py:299 +msgid "External Build" +msgstr "" + +#: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 msgid "Destination Location" msgstr "Τοποθεσία Προορισμού" -#: build/models.py:296 +#: build/models.py:310 msgid "Select location where the completed items will be stored" msgstr "Επιλέξτε την τοποθεσία όπου θα αποθηκευτούν τα ολοκληρωμένα στοιχεία" -#: build/models.py:300 +#: build/models.py:314 msgid "Build Quantity" msgstr "Ποσότητα Κατασκευής" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "Αριθμός αντικειμένων για κατασκευή" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "Ολοκληρωμένα αντικείμενα" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "Αριθμός αντικειμένων αποθέματος που έχουν ολοκληρωθεί" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "Κατάσταση Κατασκευής" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "Κωδικός κατάστασης κατασκευής" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "Κωδικός Παρτίδας" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "Κωδικός παρτίδας για αυτήν την κατασκευή" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "Ημερομηνία Δημιουργίας" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "Ημερομηνία ολοκλήρωσης στόχου" -#: build/models.py:350 +#: build/models.py:364 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Ημερομηνία ολοκλήρωσης της κατασκευής. Η κατασκευή θα καθυστερήσει μετά από αυτή την ημερομηνία." -#: build/models.py:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "Ημερομηνία ολοκλήρωσης" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "ολοκληρώθηκε από" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "Εκδόθηκε από" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελία κατασκευής" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Υπεύθυνος" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "Χρήστης ή ομάδα υπεύθυνη για αυτή την εντολή κατασκευής" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "Εξωτερικοί σύνδεσμοι" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Σύνδεσμος προς εξωτερική διεύθυνση URL" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "Προτεραιότητα Κατασκευής" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "Προτεραιότητα αυτής της εντολής κατασκευής" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Κωδικός Έργου" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "Κωδικός έργου για αυτήν την εντολή κατασκευής" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Η παραγγελία κατασκευής {build} έχει ολοκληρωθεί" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "Δεν καθορίστηκε έξοδος κατασκευής" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "Η ποσότητα δεν μπορεί να είναι μεγαλύτερη από την παραγόμενη ποσότητα" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Το προϊόν κατασκευής {serial} δεν έχει περάσει όλες τις απαιτούμενες δοκιμές" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "Αντικείμενο κατασκευής" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "Αντικείμενο κατασκευής" msgid "Quantity" msgstr "Ποσότητα" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "Απαιτούμενη ποσότητα για την εντολή κατασκευής" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Το στοιχείο κατασκευής πρέπει να ορίζει μια έξοδο κατασκευής, καθώς το κύριο τμήμα επισημαίνεται ως ανιχνεύσιμο" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Η καταχωρημένη ποσότητα ({q}) δεν πρέπει να υπερβαίνει τη διαθέσιμη ποσότητα αποθέματος ({a})" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Στοιχείο αποθέματος είναι υπερ-κατανεμημένο" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "Η ποσότητα πρέπει να είναι 1 για σειριακό απόθεμα" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "Το επιλεγμένο στοιχείο αποθέματος δεν ταιριάζει με τη γραμμή ΤΥ" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "Στοιχείο Αποθέματος" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "Στοιχείο πηγαίου αποθέματος" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "Ποσότητα αποθέματος για διάθεση για κατασκευή" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "Εγκατάσταση σε" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "Αποθήκη προορισμού" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "Κατασκευή Εξόδου" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "Το εξερχόμενο μέρος δεν ταιριάζει με το μέρος BuildOrder" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "Αυτή η έξοδος κατασκευής δεν έχει εκχωρηθεί πλήρως" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "Ακέραιη ποσότητα που απαιτείται για ανιχνεύσιμα μέρη" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Ακέραιη ποσότητα που απαιτείται, καθώς ο λογαριασμός των υλικών περιέχει ανιχνεύσιμα μέρη" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "Σειριακοί αριθμοί" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "Τοποθεσία" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "Αυτόματη Κατανομή Σειριακών Αριθμών" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" msgstr "Αυτόματη κατανομή των απαιτούμενων στοιχείων με τους αντίστοιχους σειριακούς αριθμούς" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "Οι παρακάτω σειριακοί αριθμοί υπάρχουν ήδη ή δεν είναι έγκυροι" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "Πρέπει να παρέχεται μια λίστα με τα αποτελέσματα κατασκευής" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "Θέση αποθέματος για απορριφθείσες παραγωγές" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "Απόρριψη Κατανομών" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "Απορρίψτε τυχόν κατανομές αποθέματος για παραγωγές που έχουν απορριφθεί" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "Αιτία απόρριψης προϊόντων κατασκευής" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "Τοποθεσία για ολοκληρωμένα προϊόντα κατασκευής" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "Αποδοχή Ελλιπούς Δέσμευσης" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "Ολοκλήρωσε τα προϊόντα εάν το απόθεμα δεν έχει δεσμευτεί πλήρως" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "Αφαίρεση Ατελείωτων Προϊόντων" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "Διαγράψτε τυχόν προϊόντα κατασκευής που δεν έχουν ολοκληρωθεί" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "Δεν επιτρέπεται" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "Αποδοχή ως κατανάλωση για αυτή την παραγγελία κατασκευής" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "Αποδέσμευση πριν από την ολοκλήρωση αυτής της παραγγελίας κατασκευής" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "Υπερ-δεσμευμένο Απόθεμα" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Πώς θέλετε να χειριστείτε το επιπλέον απόθεμα που έχει δεσμευτεί στην παραγγελία κατασκευής" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "Μερικά στοιχεία αποθέματος έχουν υπερ-δεσμευτεί" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "Αποδοχή Μη Δεσμευμένων" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Αποδεχτείτε ότι αντικείμενα αποθέματος δεν έχουν δεσμευτεί πλήρως σε αυτή την παραγγελία κατασκευής" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "Το απαιτούμενο απόθεμα δεν έχει δεσμευτεί πλήρως" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "Αποδοχή Μη Ολοκληρωμένων" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "Αποδεχτείτε ότι ο απαιτούμενος αριθμός προϊόντων κατασκευής δεν έχει ολοκληρωθεί" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "Ο απαιτούμενος αριθμός προϊόντων δεν έχει ολοκληρωθεί" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "Η παραγγελία κατασκευής έχει ελλιπή προϊόντα" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "Γραμμή Κατασκευής" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "Προϊόν Κατασκευής" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "Το προϊόν κατασκευής πρέπει να δείχνει στην ίδια κατασκευή" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "Αντικείμενο Γραμμής Κατασκευής" -#: build/serializers.py:945 +#: build/serializers.py:946 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part πρέπει να δείχνει στο ίδιο εξάρτημα με τη εντολή κατασκευής" -#: build/serializers.py:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "" @@ -1429,544 +1441,544 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "Χρήστης" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Σύνδεσμος" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "Συνημμένο" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "Το αρχείο λείπει" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "Λείπει ο εξωτερικός σύνδεσμος" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "Επιλέξτε αρχείο για επισύναψη" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "Σχόλιο" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "" @@ -1988,7 +2000,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "" @@ -2004,80 +2016,88 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "Όνομα αρχείου" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2188,8 +2208,8 @@ msgstr "" #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "" @@ -2417,8 +2437,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "" @@ -2431,8 +2451,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "" @@ -3546,8 +3558,8 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "" @@ -3591,7 +3603,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "" @@ -3701,8 +3713,8 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "" @@ -3730,7 +3742,7 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "" @@ -3782,8 +3794,8 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "" @@ -3818,7 +3830,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "" @@ -3854,15 +3866,15 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "" @@ -4186,101 +4198,105 @@ msgstr "" msgid "Config type" msgstr "" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "" msgid "Sales Order" msgstr "Εντολές Πώλησης" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Επιθυμητή Προθεσμία" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "Κατάσταση" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "Προορισμός" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "" -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1241 +#: order/models.py:1283 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1251 +#: order/models.py:1293 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "" -#: order/models.py:1595 +#: order/models.py:1637 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1847 +#: order/models.py:1924 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "Αποστάλθηκε" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2218 +#: order/models.py:2301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2735 +#: order/models.py:2818 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "" @@ -5142,24 +5174,24 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "" @@ -5191,7 +5223,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "" @@ -5200,8 +5232,8 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5316,7 +5348,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5357,7 +5389,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "" @@ -5433,847 +5465,867 @@ msgstr "" msgid "Last Stocktake" msgstr "" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:537 +#: part/serializers.py:550 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "Ο έλεγχος εργασίας στο παρασκήνιο απέτυχε" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -6857,43 +6958,43 @@ msgstr "" msgid "Skip this number of labels when printing label sheets" msgstr "" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "" @@ -7046,21 +7147,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7345,7 +7446,7 @@ msgstr "" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "" @@ -7357,56 +7458,56 @@ msgstr "" msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "" @@ -7694,7 +7795,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "" @@ -8599,115 +8700,115 @@ msgstr "" msgid "Permission to delete items" msgstr "" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "" diff --git a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po index 4a6083dacf..f208e5378f 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: 2025-05-24 13:17+0000\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -93,11 +93,11 @@ msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "" @@ -109,9 +109,9 @@ msgstr "" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -400,90 +400,90 @@ msgstr "" msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "" @@ -527,29 +527,29 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -568,78 +568,78 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "" @@ -647,16 +647,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "" @@ -664,15 +664,15 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "" @@ -683,52 +683,56 @@ msgstr "" msgid "Available" msgstr "" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -736,206 +740,214 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:291 -msgid "Destination Location" -msgstr "" - -#: build/models.py:296 -msgid "Select location where the completed items will be stored" +#: build/models.py:299 +msgid "External Build" msgstr "" #: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 +msgid "Destination Location" +msgstr "" + +#: build/models.py:310 +msgid "Select location where the completed items will be stored" +msgstr "" + +#: build/models.py:314 msgid "Build Quantity" msgstr "" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "" -#: build/models.py:350 +#: build/models.py:364 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -950,412 +962,412 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "" -#: build/serializers.py:945 +#: build/serializers.py:946 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "" @@ -1430,544 +1442,544 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "" @@ -1989,7 +2001,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "" @@ -2005,80 +2017,88 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2189,8 +2209,8 @@ msgstr "" #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "" @@ -2418,8 +2438,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "" @@ -2432,8 +2452,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "" @@ -2470,352 +2490,352 @@ msgid "Parts are virtual by default" msgstr "" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "" @@ -3417,34 +3437,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "" @@ -3502,7 +3514,7 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "" @@ -3547,8 +3559,8 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "" @@ -3592,7 +3604,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "" @@ -3702,8 +3714,8 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "" @@ -3731,7 +3743,7 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" @@ -3752,7 +3764,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3763,7 +3775,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "" @@ -3783,8 +3795,8 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3794,15 +3806,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "" @@ -3819,7 +3831,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "" @@ -3855,15 +3867,15 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4099,7 +4111,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "" @@ -4187,101 +4199,105 @@ msgstr "" msgid "Config type" msgstr "" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4289,710 +4305,726 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "" -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1241 +#: order/models.py:1283 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1251 +#: order/models.py:1293 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "" -#: order/models.py:1595 +#: order/models.py:1637 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1847 +#: order/models.py:1924 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2218 +#: order/models.py:2301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2735 +#: order/models.py:2818 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "" @@ -5143,24 +5175,24 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "" @@ -5192,7 +5224,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "" @@ -5201,8 +5233,8 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5317,7 +5349,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5358,7 +5390,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "" @@ -5434,847 +5466,867 @@ msgstr "" msgid "Last Stocktake" msgstr "" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:537 +#: part/serializers.py:550 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6585,6 +6637,7 @@ msgid "Provides native support for barcodes" msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6593,7 +6646,7 @@ msgstr "" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6623,6 +6676,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6821,12 +6922,12 @@ msgid "Provides native support for printing PDF labels" msgstr "" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -6858,43 +6959,43 @@ msgstr "" msgid "Skip this number of labels when printing label sheets" msgstr "" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "" @@ -7047,21 +7148,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7346,7 +7447,7 @@ msgstr "" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "" @@ -7358,56 +7459,56 @@ msgstr "" msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "" @@ -7695,7 +7796,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "" @@ -7711,7 +7812,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "" @@ -8600,115 +8701,115 @@ msgstr "" msgid "Permission to delete items" msgstr "" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "" diff --git a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po index 5f238ee050..b2a996ade5 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:15\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "No se pudo convertir {original} a {unit}" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "Cantidad proporcionada no válida" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "Detalles del error pueden encontrarse en el panel de administración" @@ -108,9 +108,9 @@ msgstr "Ingrese la fecha" msgid "Invalid decimal value" msgstr "Número decimal no válido" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "La referencia debe coincidir con la expresión regular {pattern}" msgid "Reference number is too large" msgstr "El número de referencia es demasiado grande" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "Los nombres duplicados no pueden existir bajo el mismo padre" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "Selección no válida" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "Nombre" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "Descripción" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "Descripción (opcional)" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "Ruta" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "Notas de Markdown (opcional)" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "Datos de código de barras" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "Datos de código de barras de terceros" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "Hash del Código de barras" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "Hash único de datos de código de barras" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "Código de barras existente encontrado" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "Fallo en la tarea" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "La tarea en segundo plano '{f}' falló después de {n} intentos" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "Error de servidor" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "Se ha registrado un error por el servidor." -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "Debe ser un número válido" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "Moneda" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "Seleccionar moneda de las opciones disponibles" @@ -526,29 +526,29 @@ msgstr "El excedente no debe superar el 100%" msgid "Invalid value for overage" msgstr "Valor no válido para sobrecarga" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Estado del pedido" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "Construcción o Armado Superior" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "Incluye Variantes" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "Incluye Variantes" msgid "Part" msgstr "Parte" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "Categoría" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "Asignado a mí" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Emitido por" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "Asignadas a" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "Creado antes" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "Creado despues" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "Tiene fecha inicial" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "Fecha de inicio anterior" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "Fecha de inicio después" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "Tiene fecha límite" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "Fecha objetivo antes" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "Fecha objetivo después" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "Completado antes" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "Completado después" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "Fecha Mínima" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "Fecha Máxima" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "Excluir Árbol" @@ -646,16 +646,16 @@ msgstr "Excluir Árbol" msgid "Build must be cancelled before it can be deleted" msgstr "La compilación debe cancelarse antes de poder ser eliminada" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "Consumible" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "Opcional" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "Montaje" @@ -663,15 +663,15 @@ msgstr "Montaje" msgid "Tracked" msgstr "Rastreado" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "Comprobable" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "Pedido pendiente" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "Asignadas" @@ -682,52 +682,56 @@ msgstr "Asignadas" msgid "Available" msgstr "Disponible" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Construir órden" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "Construir órdenes" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "BOM de ensamblado no ha sido validado" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "La orden de construcción no puede ser creado para una parte inactiva" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "La orden de construcción no puede ser creada para una parte desbloqueada" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "Opción no válida para la construcción padre" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "Se debe especificar un usuario o grupo responsable" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "La parte del pedido de construcción no puede ser modificada" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "La fecha límite debe ser posterior a la fecha de inicio" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "Número de orden de construcción o armado" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "Número de orden de construcción o armado" msgid "Reference" msgstr "Referencia" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "Breve descripción de la construcción (opcional)" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Orden de Construcción o Armado a la que se asigna" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "Seleccionar parte a construir o armar" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "Referencia de orden de venta" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "Orden de Venta a la que se asigna" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "Ubicación de la fuente" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Seleccione la ubicación de donde tomar stock para esta construcción o armado (deje en blanco para tomar desde cualquier ubicación)" -#: build/models.py:291 +#: build/models.py:299 +msgid "External Build" +msgstr "" + +#: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 msgid "Destination Location" msgstr "Ubicación de destino" -#: build/models.py:296 +#: build/models.py:310 msgid "Select location where the completed items will be stored" msgstr "Seleccione la ubicación donde se almacenarán los artículos completados" -#: build/models.py:300 +#: build/models.py:314 msgid "Build Quantity" msgstr "Cantidad a crear" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "Número de objetos existentes a construir" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "Elementos completados" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "Número de productos en stock que se han completado" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "Estado de la construcción" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "Código de estado de construcción" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "Numero de lote" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "Número de lote de este producto final" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "Fecha de Creación" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "Crear fecha de inicio" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "Fecha de inicio programada para este pedido" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "Fecha límite de finalización" -#: build/models.py:350 +#: build/models.py:364 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:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "Fecha de finalización" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "terminado por" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "Emitido por" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "El usuario que emitió esta orden" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Responsable" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "Usuario o grupo responsable de esta orden de construcción" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "Link externo" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Enlace a URL externa" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "Prioridad de construcción" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "Prioridad de esta orden de construcción" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Código del proyecto" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "Código de proyecto para esta orden de ensamble" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "No se pudo descargar la tarea para completar las asignaciones de construcción" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "El pedido {build} ha sido procesado" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "Pedido #[order] ha sido procesado" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "Los números de serie deben ser proporcionados para las partes rastreables" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "No se ha especificado salida de construcción" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "La construcción de la salida ya está completa" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "La salida de la construcción no coincide con el orden de construcción" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "La cantidad debe ser mayor que cero" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "La cantidad no puede ser mayor que la cantidad de salida" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "La construcción {serial} no ha pasado todas las pruebas requeridas" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "Construir línea de pedido" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "Ensamblar equipo" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "Ensamblar equipo" msgid "Quantity" msgstr "Cantidad" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "Cantidad requerida para orden de ensamble" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Item de construcción o armado debe especificar un resultado o salida, ya que la parte maestra está marcada como rastreable" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Cantidad asignada ({q}) no debe exceder la cantidad disponible de stock ({a})" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Artículo de stock sobreasignado" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Cantidad asignada debe ser mayor que cero" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "La cantidad debe ser 1 para el stock serializado" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "El artículo de almacén selelccionado no coincide con la línea BOM" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "Artículo de stock" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "Producto original de stock" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "Cantidad de stock a asignar para construir" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "Instalar en" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "Artículo de stock de destino" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "Nivel de construcción" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "Nombre de parte" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "Etiqueta del código del proyecto" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "Crear construcciones hijas" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "Generar automáticamente órdenes de construcción hijas" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "Resultado de la construcción o armado" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "La salida de construcción no coincide con la construcción padre" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "La parte de salida no coincide con la parte de la Orden de Construcción" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "Esta salida de construcción ya ha sido completada" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "Esta salida de construcción no está completamente asignada" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "Ingrese la cantidad para la producción de la construcción" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "Cantidad entera requerida para partes rastreables" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Cantidad entera requerida, ya que la factura de materiales contiene partes rastreables" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "Números de serie" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "Introduzca los números de serie de salidas de construcción" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "Ubicación" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "Ubicación de stock para objetos construidos" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "Autoasignar Números de Serie" -#: build/serializers.py:407 +#: build/serializers.py:408 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:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "Los siguientes números seriales ya existen o son inválidos" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "Debe proporcionarse una lista de salidas de construcción" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "Ubicación de almacén para salidas descartadas" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "Descartar asignaciones" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "Descartar cualquier asignación de existencias para las salidas descartadas" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "Razón para descartar la salida de ensamble(s)" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "Ubicación para las salidas de construcción completadas" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "Aceptar Asignación Incompleta" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "Completar salidas si el inventario no se ha asignado completamente" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "Consumir Stock Asignado" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "Consume cualquier stock que ya ha sido asignado a esta construcción" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "Eliminar salidas incompletas" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "Eliminar cualquier salida de construcción que no se haya completado" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "No permitido" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "Aceptar como consumido por este pedido de construcción" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "Liberar antes de completar esta orden de construcción" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "Stock sobreasignado" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Cómo quieres manejar los artículos extra de inventario asignados a la orden de construcción" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "Algunos artículos de inventario han sido sobreasignados" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "Aceptar no asignado" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Aceptar que los artículos de stock no se han asignado completamente a este pedido de construcción" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "El stock requerido no ha sido completamente asignado" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "Aceptar incompleto" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "Aceptar que el número requerido de salidas de construcción no se han completado" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "La cantidad de construcción requerida aún no se ha completado" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "La orden de construcción tiene órdenes hijas de construcción abiertas" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "Orden de construcción debe estar en estado de producción" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "El orden de construcción tiene salidas incompletas" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "Linea de ensamble" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "Resultado de la construcción o armado" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "La salida de la construcción debe apuntar a la misma construcción" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "Crear partida" -#: build/serializers.py:945 +#: build/serializers.py:946 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:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "El artículo debe estar en stock" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Cantidad disponible ({q}) excedida" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "La salida de la construcción debe especificarse para la asignación de partes rastreadas" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "La salida de construcción no se puede especificar para la asignación de partes no rastreadas" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "Debe proporcionarse la adjudicación de artículos" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Ubicación de inventario donde las partes deben ser obtenidas (dejar en blanco para tomar de cualquier ubicación)" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "Excluir ubicación" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "Excluir artículos de stock de esta ubicación seleccionada" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "Stock intercambiable" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Los artículos de inventario en múltiples ubicaciones se pueden utilizar de forma intercambiable" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "Sustituir stock" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "Permitir la asignación de partes sustitutas" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "Elementos opcionales" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "Asignar artículos de la BOM opcionales para construir la orden" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "Error al iniciar la tarea de asignación automática" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "Referencia BOM" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "ID de la parte BOM" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "Nombre de parte la BOM" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "Parte del proveedor" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "Cantidad Asignada" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "Referencia de orden de Ensamblado" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "Nombre de la categoría por pieza" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "Rastreable" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "Heredado" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "Permitir variantes" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "Item de Lista de Materiales" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "Stock Asignado" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "En pedido" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "En producción" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "Stock externo" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "Stock Disponible" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "Stock sustituto disponible" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "Stock variable disponible" @@ -1429,544 +1441,544 @@ msgstr "No se han proporcionado códigos de divisa válidos" msgid "No plugin" msgstr "Sin plugin" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "Actualizado" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "Fecha y hora de la última actualización" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "Código único del proyecto" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "Descripción del proyecto" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "Usuario o grupo responsable de este projecto" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "Tecla de ajustes" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "Valor de ajuste" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "El valor elegido no es una opción válida" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "El valor debe ser un valor booleano" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "El valor debe ser un entero" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "El valor debe ser un número válido" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "El valor no pasa las comprobaciones de validación" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "Cadena de clave debe ser única" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "Usuario" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "Cantidad de salto de precio" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "Precio" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "Precio unitario a la cantidad especificada" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "Endpoint" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "Punto final en el que se recibe este webhook" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "Nombre para este webhook" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Activo" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "Está activo este webhook" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "Token" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "Token para el acceso" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "Clave" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "Secreto compartido para HMAC" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "ID de mensaje" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "Identificador único para este mensaje" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "Servidor" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "Servidor desde el cual se recibió este mensaje" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "Encabezado" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "Encabezado del mensaje" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "Cuerpo" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "Cuerpo de este mensaje" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "Endpoint en el que se recibió este mensaje" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "Trabajado en" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "¿El trabajo en este mensaje ha terminado?" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "Id" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "Título" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Enlace" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "Publicado" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "Autor" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "Resumen" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "Leer" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "¿Esta noticia ya fue leída?" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "Imágen" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "Archivo de imagen" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "Unidad personalizada" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "El símbolo de la unidad debe ser único" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "Nombre de unidad debe ser un identificador válido" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "Nombre de unidad" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "Símbolo" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "Símbolo de unidad opcional" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "Definición" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "Definición de unidad" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "Archivo adjunto" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "Archivo no encontrado" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "Falta enlace externo" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "Seleccionar archivo para adjuntar" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "Comentario" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "Comentario de archivo adjunto" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "Fecha de carga" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "Fecha de carga del archivo" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "Tamaño del archivo" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "Tamaño del archivo en bytes" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "Tipo de modelo no válido especificado para el archivo adjunto" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "Estado personalizado" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "Estados personalizados" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "Llave lógica" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "Valor" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "Nombre del estado" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "Etiqueta" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "Etiqueta que se mostrará en el frontend" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "Color" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "Color que se mostrará en el frontend" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "Modelo" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "El modelo debe ser seleccionado" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "La clave debe ser seleccionada" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "La clave lógica debe ser seleccionada" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "Lista de selección" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "Listas de Selección" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "Nombre de la lista de selección" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "Descripción de la lista de selección" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "Bloqueado" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "¿Está bloqueada esta lista de selección?" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "¿Se puede utilizar esta lista de selección?" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "Complemento de origen" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "Complemento que proporciona la lista de selección" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "Cadena de origen" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "Cadena opcional que identifica la fuente usada para esta lista" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "Entrada por defecto" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "Entrada predeterminada para esta lista de selección" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "Creado" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "Fecha y hora en la que se creó la lista de selección" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "Última actualización" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "Fecha y hora en que la lista de selección fue actualizada por última vez" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "Entrada de lista de selección" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "Entradas de la lista de selección" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "Lista de selección a la que pertenece esta entrada" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "Valor del elemento de la lista de selección" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "Etiqueta para la entrada de lista de selección" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "Descripción de la entrada de lista de selección" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "¿Está activa esta entrada de la lista de selección?" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "Escanear código de barras" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Datos" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "Datos de código de barras" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "Usuario que escaneó el código de barras" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "Fecha y hora del escaneo de código de barras" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "Dispositivo URL que procesó el código de barras" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "Contexto" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "Datos de contexto para el escaneo de código de barras" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "Respuesta" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "Respuesta de datos del escaneo de código de barras" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "Resultado" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "¿El escaneo de código de barras fue exitoso?" @@ -1988,7 +2000,7 @@ msgstr "{verbose_name} cancelado" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "Artículos Recibidos" @@ -2004,80 +2016,88 @@ msgstr "Los artículos han sido recibidos contra una orden de devolución" msgid "Error raised by plugin" msgstr "Error generado por el complemento" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "Está en ejecución" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "Tareas pendientes" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "Tareas Programadas" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "Tareas fallidas" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "Identificación de Tarea" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "Identificación de tarea única" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "Bloquear" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "Bloquear hora" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "Nombre de la tarea" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "Función" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "Nombre de la Función" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "Argumentos" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "Argumentos de la tarea" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "Argumentos de palabra clave" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "Argumentos de palabra clave de tarea" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "Nombre de Archivo" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "El usuario no tiene permiso para crear o editar archivos adjuntos para este modelo" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "Lista de selección bloqueada" @@ -2188,8 +2208,8 @@ msgstr "Con qué frecuencia actualizar los tipos de cambio (establecer a cero pa #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "días" @@ -2417,8 +2437,8 @@ msgstr "Copiar plantillas de parámetros de categoría" msgid "Copy category parameter templates when creating a part" msgstr "Copiar plantillas de parámetros de categoría al crear una parte" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "Plantilla" @@ -2431,8 +2451,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:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "Componente" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "Las partes son virtuales por defecto" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "Mostrar importación en vistas" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "Mostrar el asistente de importación en algunas vistas de partes" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "Mostrar partes relacionadas" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "Mostrar partes relacionadas para una parte" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "Datos iniciales de existencias" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "Permitir la creación del stock inicial al añadir una nueva parte" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "Datos iniciales del proveedor" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Permitir la creación de datos iniciales del proveedor al agregar una nueva parte" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "Formato de visualización de Nombre de Parte" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "Formato para mostrar el nombre de la parte" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "Icono por defecto de la categoría de parte" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "Icono por defecto de la categoría de parte (vacío significa que no hay icono)" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "Forzar unidades de parámetro" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "Si se proporcionan unidades, los valores de parámetro deben coincidir con las unidades especificadas" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "Mínimo de lugares decimales en el precio" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Número mínimo de decimales a mostrar al procesar los datos de precios" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "Máximo de lugares decimales en el precio" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Número máximo de decimales a mostrar al procesar los datos de precios" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "Usar precios de proveedor" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Incluir descuentos de precios del proveedor en los cálculos generales de precios" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "Anulación del historial de compra" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "El precio histórico de compra anula los descuentos de precios del proveedor" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "Usar precio del artículo de almacén" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Usar los precios de los datos de inventario introducidos manualmente para los cálculos de precios" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "Edad del precio del artículo de almacén" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Excluir artículos de almacén anteriores a este número de días de los cálculos de precios" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "Usar precios variantes" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "Incluir variantes de precios en los cálculos generales de precios" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "Solo variantes activas" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "Usar solo partes de variantes activas para calcular los precios de variantes" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "Intervalo de reconstrucción de precios" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "Número de días antes de que el precio de la parte se actualice automáticamente" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "Precios internos" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "Habilitar precios internos para partes" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "Anulación del precio interno" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "Si está disponible, los precios internos anulan los cálculos del rango de precios" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "Habilitar impresión de etiquetas" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "Habilitar impresión de etiquetas desde la interfaz web" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "PPP de la imagen de etiqueta" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Resolución DPI al generar archivos de imagen que suministrar para etiquetar complementos de impresión" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "Habilitar informes" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "Habilitar generación de informes" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "Modo de depuración" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "Generar informes en modo de depuración (salida HTML)" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "Registrar errores de reportes" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "Registrar errores ocurridos al generar reportes" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "Tamaño de página" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "Tamaño de página predeterminado para informes PDF" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "Seriales únicos globalmente" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "Los números de serie para los artículos de inventario deben ser únicos globalmente" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "Autollenar números de serie" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "Autorellenar números de serie en formularios" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "Eliminar existencias agotadas" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "Determina el comportamiento por defecto al agotarse un artículo del inventario" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "Plantilla de código de lote" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "Plantilla para generar códigos de lote por defecto para artículos de almacén" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "Expiración de stock" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "Habilitar la funcionalidad de expiración de stock" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "Vender existencias caducadas" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "Permitir venta de existencias caducadas" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "Tiempo histórico de Stock" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "Número de días de artículos de stock se consideran obsoletos antes de caducar" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "Crear Stock Caducado" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "Permitir crear con stock caducado" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "Control de Stock" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "Habilitar control de propiedad sobre ubicaciones de stock y artículos" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "Icono por defecto de ubicación de almacén" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "Icono por defecto de ubicación de almacén (vacío significa que no hay icono)" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "Mostrar Articulos de Stock Instalados" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "Mostrar los artículos de stock instalados en las tablas de stock" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "Permitir transferencia Sin Existencias" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Permitir que artículos del inventario sin existencias puedan ser transferidos entre ubicaciones de inventario" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "Patrón de Referencia de Ordenes de Armado" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la Orden de Ensamblado" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "Requerir Dueño Responsable" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "Se debe asignar un dueño responsable a cada orden" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "Requerir Parte Activa" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "Impedir la creación de órdenes de fabricación para partes inactivas" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "Requerir Parte Bloqueada" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "Impedir la creación de órdenes de fabricación para partes bloqueadas" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "Impedir la creación de órdenes de fabricación a menos que se haya validado la lista de materiales" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "Prevenir la finalización de la orden de construcción hasta que todas las órdenes hijas estén cerradas" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "Bloquear hasta que los Tests pasen" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "Longitud del texto en las tablas" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "Longitud máxima para textos en tablas" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "Recibir reportes de error" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "Recibir notificación de errores del sistema" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "Últimas impresoras usadas" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "Fabricante" @@ -3546,8 +3558,8 @@ msgstr "Teléfono de contacto" msgid "Contact email address" msgstr "Correo electrónico de contacto" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "Contacto" @@ -3591,7 +3603,7 @@ msgstr "¿Esta empresa fabrica partes?" msgid "Default currency used for this company" msgstr "Moneda predeterminada utilizada para esta empresa" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "Dirección" @@ -3701,8 +3713,8 @@ msgstr "Seleccionar parte" msgid "Select manufacturer" msgstr "Seleccionar fabricante" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "" @@ -3730,7 +3742,7 @@ msgstr "Nombre del parámetro" msgid "Parameter value" msgstr "Valor del parámetro" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Unidades" @@ -3751,7 +3763,7 @@ 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:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "Proveedor" msgid "Select supplier" msgstr "Seleccionar proveedor" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "Unidad de mantenimiento de stock de proveedores" @@ -3782,8 +3794,8 @@ msgstr "URL del enlace de parte del proveedor externo" msgid "Supplier part description" msgstr "Descripción de la parte del proveedor" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "Descripción de la parte del proveedor" msgid "Note" msgstr "Nota" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "costo base" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "Paquetes" @@ -3818,7 +3830,7 @@ msgstr "Cantidad de paquete" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Cantidad total suministrada en un solo paquete. Dejar vacío para artículos individuales." -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "múltiple" @@ -3854,15 +3866,15 @@ msgstr "Moneda predeterminada utilizada para este proveedor" msgid "Company Name" msgstr "Nombre de la empresa" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "En Stock" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "Número de copias a imprimir para cada etiqueta" msgid "Connected" msgstr "Conectado" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "Desconocido" @@ -4186,101 +4198,105 @@ msgstr "" msgid "Config type" msgstr "Tipo de configuración" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "Referencia del pedido" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "Destacado" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "Tiene Código de Proyecto" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "Creado por" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "Creado antes de" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "Creado después de" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "Tiene fecha inicial" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "Fecha de inicio anterior" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "Fecha de inicio después" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "Tiene fecha límite" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "Fecha objetivo antes" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "Fecha objetivo después" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "Tiene Precio" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "Completado antes de" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "Completado después de" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "Orden" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "Orden completada" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "Componente interno" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "Orden pendiente" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "Completados" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "Tiene envío" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Orden de compra" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "Orden de compra" msgid "Sales Order" msgstr "Orden de Venta" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: 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/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "Precio Total" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "Precio total para este pedido" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "Moneda de pedido" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "Moneda para este pedido (dejar en blanco para utilizar el valor predeterminado de la empresa)" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "Este pedido está bloqueado y no puede ser modificado" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "El contacto no coincide con la empresa seleccionada" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "La fecha de inicio debe ser anterior a la fecha de límite" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "Descripción del pedido (opcional)" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "Seleccione el código del proyecto para este pedido" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "Enlace a Url externa" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "Fecha de inicio" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "Fecha de inicio programada para este pedido" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Fecha objetivo" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Fecha esperada para la entrega del pedido. El pedido se retrasará después de esta fecha." -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "Fecha de emisión" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "Fecha de expedición del pedido" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "Usuario o grupo responsable de este pedido" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "Punto de contacto para este pedido" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "Dirección de la empresa para este pedido" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "Referencia del pedido" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "Estado" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "Estado de la orden de compra" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "Empresa de la cual se están encargando los artículos" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "Referencia del proveedor" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "Código de referencia de pedido del proveedor" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "recibido por" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "La fecha de pedido fue completada" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "Destinación" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "Destino para los artículos recibidos" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "El proveedor de la parte debe coincidir con el proveedor de PO" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "La cantidad debe ser un número positivo" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Cliente" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "Empresa a la que se venden los artículos" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "Estado de la orden de venta" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "Referencia del cliente " -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "Código de referencia de pedido del cliente" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "Fecha de envío" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "enviado por" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "La orden ya fue completada" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "La orden ya fue cancelada" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "Sólo una orden abierta puede ser marcada como completa" -#: order/models.py:1241 +#: order/models.py:1283 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:1246 +#: order/models.py:1288 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:1251 +#: order/models.py:1293 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:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "Este pedido está bloqueado y no puede ser modificado" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "Cantidad del artículo" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "Referencia de partida" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "Notas de partida" -#: order/models.py:1595 +#: order/models.py:1637 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:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "Descripción de partida (opcional)" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "Contexto adicional para esta línea" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "Precio unitario" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "La parte del proveedor debe coincidir con el proveedor" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "Parte del proveedor" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "Recibido" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "Número de artículos recibidos" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "Precio de Compra" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "Precio de compra unitario" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "Una parte virtual no puede ser asignada a un pedido de venta" -#: order/models.py:1847 +#: order/models.py:1924 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:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "Precio de Venta" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "Precio de venta unitario" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "Enviado" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "Cantidad enviada" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "Fecha del envío" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "Fecha de entrega" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "Fecha de entrega del envío" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "Revisado por" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "Usuario que revisó este envío" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Envío" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "Número de envío" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "Número de Seguimiento" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "Información de seguimiento del envío" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "Número de factura" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "Número de referencia para la factura asociada" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "El envío ya ha sido enviado" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "El envío no tiene artículos de stock asignados" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "El artículo de stock no ha sido asignado" -#: order/models.py:2218 +#: order/models.py:2301 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:2221 +#: order/models.py:2304 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:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La cantidad de asignación no puede exceder la cantidad de stock" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "La cantidad debe ser 1 para el stock serializado" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "La orden de venta no coincide con el envío" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "El envío no coincide con el pedido de venta" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "Línea" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "Referencia del envío del pedido de venta" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "Ítem" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "Seleccionar artículo de stock para asignar" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "Especificar la cantidad de asignación de stock" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "Referencia de la orden de devolución" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "Empresa de la cual se están devolviendo los artículos" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "Estado de la orden de devolución" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "Seleccionar el artículo a devolver del cliente" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "Fecha de recepción" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "La fecha en la que se recibió este artículo de devolución" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "Resultado" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "Salida para esta partida" -#: order/models.py:2735 +#: order/models.py:2818 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:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "ID del Pedido" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "ID del pedido a duplicar" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "Copiar líneas" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "Copiar elementos de línea del pedido original" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "Copiar líneas adicionales" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "Copiar elementos extra de la línea del pedido original" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "Partidas" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "Líneas completadas" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "Duplicar pedido" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "Especificar opciones para duplicar este pedido" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "ID de pedido no válido" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "Nombre del proveedor" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "El pedido no puede ser cancelado" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "Permitir cerrar el pedido con partidas incompletas" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "El pedido tiene partidas incompletas" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "El pedido no está abierto" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "Precio automático" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "Calcular precio de compra automáticamente con base en los datos del proveedor" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "Moneda del precio de compra" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "Combinar artículos" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "SKU" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "Número de parte interna" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "Nombre interno de parte" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "Debe especificar la parte del proveedor" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "La orden de compra debe especificarse" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "El proveedor debe coincidir con la orden de compra" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "La orden de compra debe coincidir con el proveedor" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "Partida" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "La partida no coincide con la orden de compra" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "Seleccione la ubicación de destino para los artículos recibidos" -#: order/serializers.py:786 +#: order/serializers.py:793 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:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "Fecha de Expiración" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "Introduzca números de serie para artículos de almacén entrantes" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "Código de barras" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "Código de barras escaneado" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "Código de barras en uso" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "Debe proporcionarse una cantidad entera para las partes rastreables" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "Se deben proporcionar las partidas" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "Se requiere ubicación de destino" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "Los valores del código de barras deben ser únicos" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "Envíos" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "Envíos completados" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "Moneda del precio de venta" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "Elementos asignados" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "No se proporcionaron detalles de envío" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "La partida no está asociada con este pedido" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "La cantidad debe ser positiva" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "Introduzca números de serie para asignar" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "El envío ya ha sido enviado" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "El envío no está asociado con este pedido" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "No se han encontrado coincidencias para los siguientes números de serie" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "Los siguientes números de serie no están disponibles" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "Partida de orden de devolución" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "La partida no coincide con la orden de devolución" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "La partida ya ha sido recibida" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "Los artículos sólo pueden ser recibidos contra pedidos en curso" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "Cantidad a devolver" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "Moneda de precio de línea" @@ -5142,24 +5174,24 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Categoría de parte" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "Categorías de parte" @@ -5191,7 +5223,7 @@ msgstr "Palabras clave por defecto para partes en esta categoría" msgid "Icon" msgstr "Icono" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "Icono (opcional)" @@ -5200,8 +5232,8 @@ msgstr "Icono (opcional)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "¡No puedes hacer que esta categoría de partes sea estructural porque algunas partes ya están asignadas!" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "Partes" @@ -5316,7 +5348,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:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" @@ -5357,7 +5389,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:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "Stock mínimo" @@ -5433,847 +5465,867 @@ msgstr "Dueño responsable de esta parte" msgid "Last Stocktake" msgstr "Último inventario" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "Vender múltiples" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "Moneda utilizada para almacenar en caché los cálculos de precios" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "Costo mínimo de BOM" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "Costo mínimo de partes de componentes" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "Costo máximo de BOM" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "Costo máximo de partes de componentes" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "Costo mínimo de compra" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "Costo histórico mínimo de compra" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "Costo máximo de compra" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "Costo histórico máximo de compra" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "Precio interno mínimo" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "Costo mínimo basado en precios reducidos internos" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "Precio interno máximo" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "Costo máximo basado en precios reducidos internos" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "Precio mínimo de proveedor" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "Precio mínimo de la parte de proveedores externos" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "Precio máximo de proveedor" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "Precio máximo de la parte de proveedores externos" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "Costo mínimo de variante" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "Costo mínimo calculado de las partes variantes" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "Costo máximo de variante" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "Costo máximo calculado de las partes variantes" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "Costo mínimo" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "Anular el costo mínimo" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "Costo máximo" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "Reemplazar coste máximo" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "Costo mínimo general calculado" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "Precio de venta mínimo" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "Precio de venta mínimo basado en precios reducidos" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "Precio de venta máximo" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "Precio de venta máximo basado en precios reducidos" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "Costo de venta mínimo" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "Precio de venta mínimo histórico" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "Costo de Venta Máximo" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "Precio de venta máximo histórico" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "Número de artículos" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Fecha" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "Notas adicionales" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "Costo de Stock Mínimo" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "Costo mínimo estimado del stock disponible" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "Informe" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "Número de partes" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "Las plantillas de prueba solo pueden ser creadas para partes de prueba" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "Nombre de prueba" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "Introduzca un nombre para la prueba" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "Descripción de prueba" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "Introduce la descripción para esta prueba" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "Habilitado" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "Requerido" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "¿Es necesario pasar esta prueba?" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "Requiere valor" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "¿Esta prueba requiere un valor al agregar un resultado de la prueba?" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "Adjunto obligatorio" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "¿Esta prueba requiere un archivo adjunto al agregar un resultado de la prueba?" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "Opciones" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "El nombre de parámetro en la plantilla tiene que ser único" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "Nombre de Parámetro" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "Casilla de verificación" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "¿Es este parámetro una casilla de verificación?" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "Opciones válidas para este parámetro (separados por comas)" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "Lista de selección para este parámetro" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "Opción inválida para el valor del parámetro" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "Parte principal" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "Plantilla de parámetro" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "Valor del parámetro" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "Valor predeterminado" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "Valor de parámetro por defecto" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "Seleccionar parte principal" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "Sub parte" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "Seleccionar parte a utilizar en BOM" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "Cantidad del artículo en BOM" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "Este artículo BOM es opcional" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Este artículo de BOM es consumible (no está rastreado en órdenes de construcción)" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "Exceso" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Cantidad estimada de desperdicio de construcción (absoluta o porcentaje)" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "Referencia de artículo de BOM" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "Notas del artículo de BOM" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "Suma de verificación" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "Suma de verificación de línea de BOM" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "Validado" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "Este artículo de BOM ha sido validado" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Este artículo BOM es heredado por BOMs para partes variantes" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Artículos de stock para partes variantes pueden ser usados para este artículo BOM" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "La cantidad debe ser un valor entero para las partes rastreables" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "Debe especificar la subparte" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "Ítem de BOM sustituto" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "La parte sustituta no puede ser la misma que la parte principal" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "Artículo BOM superior" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "Sustituir parte" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "Parte 1" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "Parte 2" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "Seleccionar parte relacionada" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "Nota para esta relación" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "Categoría principal de parte" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "Subcategorías" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "Moneda de compra de ítem de stock" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "Cantidad especulativa" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "ID del modelo" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "Parte original" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "Seleccione la parte original a duplicar" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "Copiar Imagen" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "Copiar imagen desde la parte original" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "Copiar BOM" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "Copiar la factura de materiales de la parte original" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "Copiar Parámetros" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "Copiar datos del parámetro de la parte original" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "Copiar Notas" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "Cantidad Inicial de Stock" -#: part/serializers.py:537 +#: part/serializers.py:550 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "Seleccione proveedor (o déjelo en blanco para saltar)" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleccionar fabricante (o dejar en blanco para saltar)" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "Número de parte del fabricante" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "La empresa seleccionada no es un proveedor válido" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "La empresa seleccionada no es un fabricante válido" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "Nombre de categoría" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "En construcción" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "Elementos de stock" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "Elementos de stock" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "Proveedores" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Inventario Total" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "Duplicar Parte" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "Stock Inicial" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "Crear Parte con cantidad inicial de stock" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "Información del proveedor" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "Añadir información inicial del proveedor para esta parte" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "Copiar Parámetros de Categoría" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "Copiar plantillas de parámetro de la categoría de partes seleccionada" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "Imagen Existente" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "El archivo de imagen no existe" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "Generar informe" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "Actualizar partes" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "Falló la comprobación en segundo plano del worker" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "Precio mínimo" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "Anular el valor calculado para precio mínimo" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "Precio mínimo de moneda" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "Precio máximo" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "Precio máximo de moneda" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "Actualizar" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1508 +#: part/serializers.py:1545 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:1511 +#: part/serializers.py:1548 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:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "Puede construir" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "Seleccionar parte de la que copiar BOM" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "Eliminar Datos Existentes" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "Eliminar artículos BOM existentes antes de copiar" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "Incluye Heredado" -#: part/serializers.py:1940 +#: part/serializers.py:1977 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:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "Omitir filas no válidas" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "Activar esta opción para omitir filas inválidas" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "Copiar partes sustitutas" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "Proporciona soporte nativo para códigos de barras" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "Proporciona soporte nativo para códigos de barras" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "Proporciona soporte nativo para imprimir etiquetas PDF" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "Modo de depuración" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "Activar modo de depuración - devuelve código HTML en lugar de PDF" @@ -6857,43 +6958,43 @@ msgstr "" msgid "Skip this number of labels when printing label sheets" msgstr "" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "" @@ -7046,21 +7147,21 @@ msgstr "Complemento" msgid "Method" msgstr "Método" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "No se encontró autor" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "El complemento '{p}' no es compatible con la versión actual de InvenTree {v}" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "El complemento requiere al menos la versión {v}" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "El complemento requiere como máximo la versión {v}" @@ -7345,7 +7446,7 @@ msgstr "Filtros" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "" @@ -7357,56 +7458,56 @@ msgstr "Tamaño de página para reportes PDF" msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "Ancho [mm]" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "Ancho de la etiqueta, especificado en mm" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "Altura [mm]" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "Altura de la etiqueta, especificada en mm" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "Fragmento" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "Archivo fragmento de informe" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "Descripción de archivo de fragmento" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "Activo" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "Reportar archivo de activos" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "Descripción del archivo de activos" @@ -7694,7 +7795,7 @@ msgstr "" msgid "Stock Location" msgstr "Ubicación de Stock" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "Ubicaciones de Stock" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "Externo" @@ -8599,115 +8700,115 @@ msgstr "Eliminar" msgid "Permission to delete items" msgstr "Permiso para eliminar artículos" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "Verificación de Inventario" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "Ordenes de compra" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "Órdenes de venta" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "Ordenes de devolución" 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 deb8574fc2..562a57cb5b 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:15\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Language: es_MX\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "No se pudo convertir {original} a {unit}" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "Cantidad proporcionada no válida" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "Detalles del error pueden encontrarse en el panel de administración" @@ -108,9 +108,9 @@ msgstr "Ingrese la fecha" msgid "Invalid decimal value" msgstr "Número decimal inválido" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "La referencia debe coincidir con la expresión regular {pattern}" msgid "Reference number is too large" msgstr "El número de referencia es demasiado grande" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "Los nombres duplicados no pueden existir bajo el mismo padre" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "Selección no válida" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "Nombre" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "Descripción" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "Descripción (opcional)" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "Ruta" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "Notas de Markdown (opcional)" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "Datos de código de barras" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "Datos de código de barras de terceros" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "Hash del Código de barras" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "Hash único de datos de código de barras" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "Código de barras existente encontrado" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "Fallo en la tarea" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "Error de servidor" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "Se ha registrado un error por el servidor." -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "Debe ser un número válido" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "Moneda" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "Seleccionar moneda de las opciones disponibles" @@ -526,29 +526,29 @@ msgstr "El excedente no debe superar el 100%" msgid "Invalid value for overage" msgstr "Valor no válido para sobrecarga" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Estado del pedido" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "Construcción o Armado Superior" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "Incluye Variantes" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "Incluye Variantes" msgid "Part" msgstr "Parte" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "Categoría" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "Construir antepasado" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "Asignado a mí" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Emitido por" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "Asignadas a" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "Creado antes de" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "Creado después de" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "Fecha objetivo antes de" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "Fecha objetivo después de" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "Completado antes de" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "Completado después de" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "" @@ -646,16 +646,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "La compilación debe cancelarse antes de poder ser eliminada" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "Consumible" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "Opcional" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "Montaje" @@ -663,15 +663,15 @@ msgstr "Montaje" msgid "Tracked" msgstr "Rastreado" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "Comprobable" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "Pedido pendiente" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "Asignadas" @@ -682,52 +682,56 @@ msgstr "Asignadas" msgid "Available" msgstr "Disponible" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Construir órden" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "Construir órdenes" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "BOM de ensamblado no ha sido validado" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "La orden de construcción no puede ser creado para una parte inactiva" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "La orden de construcción no puede ser creada para una parte desbloqueada" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "Opción no válida para la construcción padre" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "Se debe especificar un usuario o grupo responsable" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "La parte del pedido de construcción no puede ser modificada" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "Número de orden de construcción o armado" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "Número de orden de construcción o armado" msgid "Reference" msgstr "Referencia" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "Breve descripción de la construcción (opcional)" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Orden de Construcción o Armado a la que se asigna" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "Seleccionar parte a construir o armar" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "Referencia de orden de venta" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "Orden de Venta a la que se asigna" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "Ubicación de la fuente" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Seleccione la ubicación de donde tomar stock para esta construcción o armado (deje en blanco para tomar desde cualquier ubicación)" -#: build/models.py:291 +#: build/models.py:299 +msgid "External Build" +msgstr "" + +#: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 msgid "Destination Location" msgstr "Ubicación de destino" -#: build/models.py:296 +#: build/models.py:310 msgid "Select location where the completed items will be stored" msgstr "Seleccione la ubicación donde se almacenarán los artículos completados" -#: build/models.py:300 +#: build/models.py:314 msgid "Build Quantity" msgstr "Cantidad a crear" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "Número de objetos existentes a construir" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "Elementos completados" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "Número de productos en stock que se han completado" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "Estado de la construcción" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "Código de estado de construcción" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "Numero de lote" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "Número de lote de este producto final" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "Fecha de Creación" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "Fecha límite de finalización" -#: build/models.py:350 +#: build/models.py:364 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:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "Fecha de finalización" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "terminado por" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "Emitido por" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "El usuario que emitió esta orden" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Responsable" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "Usuario o grupo responsable de esta orden de construcción" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "Link externo" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Enlace a URL externa" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "Prioridad de construcción" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "Prioridad de esta orden de construcción" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Código del proyecto" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "Código de proyecto para esta orden de ensamble" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "No se pudo descargar la tarea para completar las asignaciones de construcción" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "El pedido {build} ha sido procesado" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "Pedido #[order] ha sido procesado" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "Los números de serie deben ser proporcionados para las partes rastreables" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "No se ha especificado salida de construcción" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "La construcción de la salida ya está completa" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "La salida de la construcción no coincide con el orden de construcción" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "La cantidad debe ser mayor que cero" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "La cantidad no puede ser mayor que la cantidad de salida" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "La construcción {serial} no ha pasado todas las pruebas requeridas" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "Construir línea de pedido" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "Ensamblar equipo" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "Ensamblar equipo" msgid "Quantity" msgstr "Cantidad" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "Cantidad requerida para orden de ensamble" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Item de construcción o armado debe especificar un resultado o salida, ya que la parte maestra está marcada como rastreable" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Cantidad asignada ({q}) no debe exceder la cantidad disponible de stock ({a})" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Artículo de stock sobreasignado" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Cantidad asignada debe ser mayor que cero" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "La cantidad debe ser 1 para el stock serializado" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "El artículo de almacén selelccionado no coincide con la línea BOM" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "Artículo de stock" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "Producto original de stock" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "Cantidad de stock a asignar para construir" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "Instalar en" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "Artículo de stock de destino" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "Nivel de construcción" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "Nombre de parte" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "Etiqueta del código del proyecto" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "Crear construcciones hijas" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "Generar automáticamente órdenes de construcción hijas" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "Resultado de la construcción o armado" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "La salida de construcción no coincide con la construcción padre" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "La parte de salida no coincide con la parte de la Orden de Construcción" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "Esta salida de construcción ya ha sido completada" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "Esta salida de construcción no está completamente asignada" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "Ingrese la cantidad para la producción de la construcción" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "Cantidad entera requerida para partes rastreables" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Cantidad entera requerida, ya que la factura de materiales contiene partes rastreables" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "Números de serie" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "Introduzca los números de serie de salidas de construcción" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "Ubicación" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "Ubicación de stock para objetos construidos" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "Autoasignar Números de Serie" -#: build/serializers.py:407 +#: build/serializers.py:408 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:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "Los siguientes números seriales ya existen o son inválidos" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "Debe proporcionarse una lista de salidas de construcción" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "Ubicación de almacén para salidas descartadas" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "Descartar asignaciones" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "Descartar cualquier asignación de existencias para las salidas descartadas" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "Razón para descartar la salida de ensamble(s)" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "Ubicación para las salidas de construcción completadas" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "Aceptar Asignación Incompleta" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "Completar salidas si el inventario no se ha asignado completamente" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "Consumir Stock Asignado" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "Consume cualquier stock que ya ha sido asignado a esta construcción" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "Eliminar salidas incompletas" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "Eliminar cualquier salida de construcción que no se haya completado" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "No permitido" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "Aceptar como consumido por este pedido de construcción" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "Liberar antes de completar esta orden de construcción" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "Stock sobreasignado" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Cómo quieres manejar los artículos extra de inventario asignados a la orden de construcción" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "Algunos artículos de inventario han sido sobreasignados" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "Aceptar no asignado" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Aceptar que los artículos de stock no se han asignado completamente a este pedido de construcción" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "El stock requerido no ha sido completamente asignado" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "Aceptar incompleto" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "Aceptar que el número requerido de salidas de construcción no se han completado" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "La cantidad de construcción requerida aún no se ha completado" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "La orden de construcción tiene órdenes hijas de construcción abiertas" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "Orden de construcción debe estar en estado de producción" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "El orden de construcción tiene salidas incompletas" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "Linea de ensamble" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "Resultado de la construcción o armado" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "La salida de la construcción debe apuntar a la misma construcción" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "Crear partida" -#: build/serializers.py:945 +#: build/serializers.py:946 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:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "El artículo debe estar en stock" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Cantidad disponible ({q}) excedida" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "La salida de la construcción debe especificarse para la asignación de partes rastreadas" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "La salida de construcción no se puede especificar para la asignación de partes no rastreadas" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "Debe proporcionarse la adjudicación de artículos" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Ubicación de inventario donde las partes deben ser obtenidas (dejar en blanco para tomar de cualquier ubicación)" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "Excluir ubicación" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "Excluir artículos de stock de esta ubicación seleccionada" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "Stock intercambiable" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Los artículos de inventario en múltiples ubicaciones se pueden utilizar de forma intercambiable" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "Sustituir stock" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "Permitir la asignación de partes sustitutas" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "Elementos opcionales" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "Asignar artículos de la BOM opcionales para construir la orden" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "Error al iniciar la tarea de asignación automática" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "Referencia BOM" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "ID de la parte BOM" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "Nombre de parte la BOM" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "Parte del proveedor" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "Cantidad Asignada" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "Referencia de orden de Ensamblado" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "Nombre de la categoría por pieza" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "Rastreable" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "Heredado" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "Permitir variantes" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "Item de Lista de Materiales" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "Stock Asignado" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "En pedido" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "En producción" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "Stock externo" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "Stock Disponible" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "Stock sustituto disponible" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "Stock variable disponible" @@ -1429,544 +1441,544 @@ msgstr "No se han proporcionado códigos de divisa válidos" msgid "No plugin" msgstr "Sin plugin" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "Actualizado" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "Fecha y hora de la última actualización" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "Código único del proyecto" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "Descripción del proyecto" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "Usuario o grupo responsable de este projecto" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "Tecla de ajustes" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "Valor de ajuste" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "El valor elegido no es una opción válida" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "El valor debe ser un valor booleano" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "El valor debe ser un entero" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "El valor debe ser un número válido" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "El valor no pasa las comprobaciones de validación" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "Cadena de clave debe ser única" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "Usuario" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "Cantidad de salto de precio" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "Precio" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "Precio unitario a la cantidad especificada" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "Endpoint" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "Punto final en el que se recibe este webhook" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "Nombre para este webhook" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Activo" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "Está activo este webhook" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "Token" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "Token para el acceso" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "Clave" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "Secreto compartido para HMAC" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "ID de mensaje" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "Identificador único para este mensaje" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "Servidor desde el cual se recibió este mensaje" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "Encabezado" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "Encabezado del mensaje" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "Cuerpo" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "Cuerpo de este mensaje" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "Endpoint en el que se recibió este mensaje" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "Trabajado en" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "¿El trabajo en este mensaje ha terminado?" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "Título" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Enlace" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "Publicado" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "Autor" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "Resumen" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "Leer" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "¿Esta noticia ya fue leída?" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "Imágen" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "Archivo de imagen" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "Tipo de modelo destino para esta imagen" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "Unidad personalizada" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "El símbolo de la unidad debe ser único" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "Nombre de unidad debe ser un identificador válido" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "Nombre de unidad" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "Símbolo" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "Símbolo de unidad opcional" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "Definición" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "Definición de unidad" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "Archivo adjunto" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "Archivo no encontrado" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "Falta enlace externo" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "Seleccionar archivo para adjuntar" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "Comentario" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "Comentario de archivo adjunto" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "Fecha de carga" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "Fecha de carga del archivo" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "Tamaño del archivo" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "Tamaño del archivo en bytes" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "Tipo de modelo no válido especificado para el archivo adjunto" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "Estado personalizado" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "Estados personalizados" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "Conjunto de estado de referencia" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "Conjunto de estado extendido con este estado personalizado" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "Llave lógica" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "Clave lógica del estado que es igual a este estado personalizado en la lógica de negocios" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "Valor" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "Valor numérico que se guardará en la base de datos de modelos" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "Nombre del estado" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "Etiqueta" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "Etiqueta que se mostrará en el frontend" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "Color" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "Color que se mostrará en el frontend" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "Modelo" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "Modelo con el que este estado está asociado" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "El modelo debe ser seleccionado" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "La clave debe ser seleccionada" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "La clave lógica debe ser seleccionada" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "La clave debe ser distinta de la clave lógica" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "Debe proporcionarse una clase de estado de referencia válida" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "La clave debe ser distinta de las claves lógicas del estado de referencia" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "Lista de selección" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "Listas de Selección" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "Nombre de la lista de selección" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "Descripción de la lista de selección" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "Bloqueado" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "¿Está bloqueada esta lista de selección?" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "¿Se puede utilizar esta lista de selección?" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "Complemento de origen" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "Complemento que proporciona la lista de selección" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "Cadena de origen" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "Cadena opcional que identifica la fuente usada para esta lista" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "Entrada por defecto" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "Entrada predeterminada para esta lista de selección" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "Creado" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "Fecha y hora en la que se creó la lista de selección" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "Última actualización" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "Fecha y hora en que la lista de selección fue actualizada por última vez" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "Entrada de lista de selección" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "Entradas de la lista de selección" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "Lista de selección a la que pertenece esta entrada" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "Valor del elemento de la lista de selección" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "Etiqueta para la entrada de lista de selección" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "Descripción de la entrada de lista de selección" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "¿Está activa esta entrada de la lista de selección?" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "Escanear código de barras" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Datos" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "Datos de código de barras" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "Usuario que escaneó el código de barras" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "Fecha y hora del escaneo de código de barras" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "Dispositivo URL que procesó el código de barras" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "Contexto" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "Datos de contexto para el escaneo de código de barras" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "Respuesta" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "Respuesta de datos del escaneo de código de barras" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "Resultado" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "¿El escaneo de código de barras fue exitoso?" @@ -1988,7 +2000,7 @@ msgstr "{verbose_name} cancelado" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "Artículos Recibidos" @@ -2004,80 +2016,88 @@ msgstr "Los artículos han sido recibidos contra una orden de devolución" msgid "Error raised by plugin" msgstr "Error generado por el complemento" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "Está en ejecución" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "Tareas pendientes" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "Tareas Programadas" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "Tareas fallidas" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "Identificación de Tarea" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "Identificación de tarea única" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "Bloquear" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "Bloquear hora" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "Nombre de la tarea" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "Función" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "Nombre de la Función" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "Argumentos" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "Argumentos de la tarea" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "Argumentos de palabra clave" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "Argumentos de palabra clave de tarea" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "Nombre de Archivo" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "Lista de selección bloqueada" @@ -2188,8 +2208,8 @@ msgstr "Con qué frecuencia actualizar los tipos de cambio (establecer a cero pa #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "días" @@ -2417,8 +2437,8 @@ msgstr "Copiar plantillas de parámetros de categoría" msgid "Copy category parameter templates when creating a part" msgstr "Copiar plantillas de parámetros de categoría al crear una parte" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "Plantilla" @@ -2431,8 +2451,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:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "Componente" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "Las partes son virtuales por defecto" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "Mostrar importación en vistas" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "Mostrar el asistente de importación en algunas vistas de partes" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "Mostrar partes relacionadas" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "Mostrar partes relacionadas para una parte" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "Datos iniciales de existencias" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "Permitir la creación del stock inicial al añadir una nueva parte" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "Datos iniciales del proveedor" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Permitir la creación de datos iniciales del proveedor al agregar una nueva parte" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "Formato de visualización de Nombre de Parte" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "Formato para mostrar el nombre de la parte" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "Icono por defecto de la categoría de parte" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "Icono por defecto de la categoría de parte (vacío significa que no hay icono)" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "Forzar unidades de parámetro" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "Si se proporcionan unidades, los valores de parámetro deben coincidir con las unidades especificadas" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "Mínimo de lugares decimales en el precio" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Número mínimo de decimales a mostrar al procesar los datos de precios" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "Máximo de lugares decimales en el precio" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Número máximo de decimales a mostrar al procesar los datos de precios" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "Usar precios de proveedor" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Incluir descuentos de precios del proveedor en los cálculos generales de precios" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "Anulación del historial de compra" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "El precio histórico de compra anula los descuentos de precios del proveedor" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "Usar precio del artículo de almacén" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Usar los precios de los datos de inventario introducidos manualmente para los cálculos de precios" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "Edad del precio del artículo de almacén" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Excluir artículos de almacén anteriores a este número de días de los cálculos de precios" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "Usar precios variantes" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "Incluir variantes de precios en los cálculos generales de precios" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "Solo variantes activas" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "Usar solo partes de variantes activas para calcular los precios de variantes" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "Intervalo de reconstrucción de precios" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "Número de días antes de que el precio de la parte se actualice automáticamente" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "Precios internos" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "Habilitar precios internos para partes" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "Anulación del precio interno" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "Si está disponible, los precios internos anulan los cálculos del rango de precios" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "Habilitar impresión de etiquetas" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "Habilitar impresión de etiquetas desde la interfaz web" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "PPP de la imagen de etiqueta" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Resolución DPI al generar archivos de imagen que suministrar para etiquetar complementos de impresión" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "Habilitar informes" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "Habilitar generación de informes" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "Modo de depuración" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "Generar informes en modo de depuración (salida HTML)" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "Registrar errores de reportes" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "Registrar errores ocurridos al generar reportes" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "Tamaño de página" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "Tamaño de página predeterminado para informes PDF" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "Seriales únicos globalmente" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "Los números de serie para los artículos de inventario deben ser únicos globalmente" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "Autollenar números de serie" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "Autorellenar números de serie en formularios" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "Eliminar existencias agotadas" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "Determina el comportamiento por defecto al agotarse un artículo del inventario" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "Plantilla de código de lote" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "Plantilla para generar códigos de lote por defecto para artículos de almacén" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "Expiración de stock" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "Habilitar la funcionalidad de expiración de stock" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "Vender existencias caducadas" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "Permitir venta de existencias caducadas" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "Tiempo histórico de Stock" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "Número de días de artículos de stock se consideran obsoletos antes de caducar" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "Crear Stock Caducado" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "Permitir crear con stock caducado" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "Control de Stock" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "Habilitar control de propiedad sobre ubicaciones de stock y artículos" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "Icono por defecto de ubicación de almacén" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "Icono por defecto de ubicación de almacén (vacío significa que no hay icono)" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "Mostrar Articulos de Stock Instalados" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "Mostrar los artículos de stock instalados en las tablas de stock" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "Revisar BOM al instalar artículos" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Los elementos de stock instalados deben existir en la BOM para la parte padre" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "Permitir transferencia Sin Existencias" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Permitir que artículos del inventario sin existencias puedan ser transferidos entre ubicaciones de inventario" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "Patrón de Referencia de Ordenes de Armado" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la Orden de Ensamblado" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "Requerir Dueño Responsable" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "Se debe asignar un dueño responsable a cada orden" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "Requerir Parte Activa" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "Impedir la creación de órdenes de fabricación para partes inactivas" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "Requerir Parte Bloqueada" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "Impedir la creación de órdenes de fabricación para partes bloqueadas" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "Impedir la creación de órdenes de fabricación a menos que se haya validado la lista de materiales" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "Prevenir la finalización de la orden de construcción hasta que todas las órdenes hijas estén cerradas" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "Bloquear hasta que los Tests pasen" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "Longitud del texto en las tablas" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "Longitud máxima para textos en tablas" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "Recibir reportes de error" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "Recibir notificación de errores del sistema" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "Últimas impresoras usadas" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "Fabricante" @@ -3546,8 +3558,8 @@ msgstr "Teléfono de contacto" msgid "Contact email address" msgstr "Correo electrónico de contacto" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "Contacto" @@ -3591,7 +3603,7 @@ msgstr "¿Esta empresa fabrica partes?" msgid "Default currency used for this company" msgstr "Moneda predeterminada utilizada para esta empresa" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "Dirección" @@ -3701,8 +3713,8 @@ msgstr "Seleccionar parte" msgid "Select manufacturer" msgstr "Seleccionar fabricante" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "" @@ -3730,7 +3742,7 @@ msgstr "Nombre del parámetro" msgid "Parameter value" msgstr "Valor del parámetro" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Unidades" @@ -3751,7 +3763,7 @@ 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:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "Proveedor" msgid "Select supplier" msgstr "Seleccionar proveedor" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "Unidad de mantenimiento de stock de proveedores" @@ -3782,8 +3794,8 @@ msgstr "URL del enlace de parte del proveedor externo" msgid "Supplier part description" msgstr "Descripción de la parte del proveedor" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "Descripción de la parte del proveedor" msgid "Note" msgstr "Nota" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "costo base" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "Paquetes" @@ -3818,7 +3830,7 @@ msgstr "Cantidad de paquete" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Cantidad total suministrada en un solo paquete. Dejar vacío para artículos individuales." -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "múltiple" @@ -3854,15 +3866,15 @@ msgstr "Moneda predeterminada utilizada para este proveedor" msgid "Company Name" msgstr "Nombre de la empresa" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "En Stock" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "Número de copias a imprimir para cada etiqueta" msgid "Connected" msgstr "Conectado" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "Desconocido" @@ -4186,101 +4198,105 @@ msgstr "" msgid "Config type" msgstr "" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "Referencia del pedido" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "Destacado" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "Tiene Código de Proyecto" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "Creado por" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "Creado antes de" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "Creado después de" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "Fecha objetivo antes de" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "Fecha objetivo después de" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "Tiene Precio" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "Completado antes de" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "Completado después de" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "Orden" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "Orden completada" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "Componente interno" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "Orden pendiente" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "Completados" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "Tiene envío" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Orden de compra" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "Orden de compra" msgid "Sales Order" msgstr "Orden de Venta" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: 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/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "Precio Total" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "Precio total para este pedido" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "Moneda de pedido" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "Moneda para este pedido (dejar en blanco para utilizar el valor predeterminado de la empresa)" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "El contacto no coincide con la empresa seleccionada" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "Descripción del pedido (opcional)" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "Seleccione el código del proyecto para este pedido" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "Enlace a Url externa" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Fecha objetivo" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Fecha esperada para la entrega del pedido. El pedido se retrasará después de esta fecha." -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "Fecha de emisión" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "Fecha de expedición del pedido" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "Usuario o grupo responsable de este pedido" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "Punto de contacto para este pedido" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "Dirección de la empresa para este pedido" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "Referencia del pedido" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "Estado" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "Estado de la orden de compra" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "Empresa de la cual se están encargando los artículos" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "Referencia del proveedor" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "Código de referencia de pedido del proveedor" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "recibido por" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "La fecha de pedido fue completada" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "Destinación" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "Destino para los artículos recibidos" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "El proveedor de la parte debe coincidir con el proveedor de PO" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "La cantidad debe ser un número positivo" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Cliente" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "Empresa a la que se venden los artículos" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "Estado de la orden de venta" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "Referencia del cliente " -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "Código de referencia de pedido del cliente" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "Fecha de envío" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "enviado por" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "La orden ya fue completada" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "La orden ya fue cancelada" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "Sólo una orden abierta puede ser marcada como completa" -#: order/models.py:1241 +#: order/models.py:1283 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:1246 +#: order/models.py:1288 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:1251 +#: order/models.py:1293 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:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "Cantidad del artículo" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "Referencia de partida" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "Notas de partida" -#: order/models.py:1595 +#: order/models.py:1637 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:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "Descripción de partida (opcional)" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "Contexto adicional para esta línea" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "Precio unitario" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "La parte del proveedor debe coincidir con el proveedor" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "Parte del proveedor" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "Recibido" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "Número de artículos recibidos" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "Precio de Compra" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "Precio de compra unitario" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "Una parte virtual no puede ser asignada a un pedido de venta" -#: order/models.py:1847 +#: order/models.py:1924 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:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "Precio de Venta" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "Precio de venta unitario" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "Enviado" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "Cantidad enviada" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "Fecha del envío" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "Fecha de entrega" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "Fecha de entrega del envío" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "Revisado por" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "Usuario que revisó este envío" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Envío" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "Número de envío" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "Número de Seguimiento" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "Información de seguimiento del envío" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "Número de factura" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "Número de referencia para la factura asociada" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "El envío ya ha sido enviado" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "El envío no tiene artículos de stock asignados" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "El artículo de stock no ha sido asignado" -#: order/models.py:2218 +#: order/models.py:2301 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:2221 +#: order/models.py:2304 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:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La cantidad de asignación no puede exceder la cantidad de stock" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "La cantidad debe ser 1 para el stock serializado" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "La orden de venta no coincide con el envío" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "El envío no coincide con el pedido de venta" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "Línea" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "Referencia del envío del pedido de venta" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "Ítem" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "Seleccionar artículo de stock para asignar" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "Especificar la cantidad de asignación de stock" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "Referencia de la orden de devolución" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "Empresa de la cual se están devolviendo los artículos" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "Estado de la orden de devolución" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "El artículo de almacén debe ser especificado" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "La cantidad de retorno excede la cantidad de existencias" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "La cantidad de retorno debe ser mayor que cero" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "Cantidad inválida para el artículo de stock serializado" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "Seleccionar el artículo a devolver del cliente" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "Fecha de recepción" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "La fecha en la que se recibió este artículo de devolución" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "Resultado" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "Salida para esta partida" -#: order/models.py:2735 +#: order/models.py:2818 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:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "ID del Pedido" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "ID del pedido a duplicar" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "Copiar líneas" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "Copiar partida del pedido original" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "Copiar líneas adicionales" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "Copiar partidas extra del pedido original" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "Partidas" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "Líneas completadas" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "Duplicar pedido" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "Especificar opciones para duplicar este pedido" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "ID de pedido inválido" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "Nombre del proveedor" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "El pedido no puede ser cancelado" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "Permitir cerrar el pedido con partidas incompletas" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "El pedido tiene partidas incompletas" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "El pedido no está abierto" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "Precio automático" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "Calcular precio de compra automáticamente con base en los datos del proveedor" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "Moneda del precio de compra" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "Combinar artículos" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "SKU" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "Número de parte interna" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "Nombre interno de parte" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "Debe especificar la parte del proveedor" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "La orden de compra debe especificarse" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "El proveedor debe coincidir con la orden de compra" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "La orden de compra debe coincidir con el proveedor" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "Partida" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "La partida no coincide con la orden de compra" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "Seleccione la ubicación de destino para los artículos recibidos" -#: order/serializers.py:786 +#: order/serializers.py:793 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:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "Fecha de Expiración" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "Introduzca números de serie para artículos de almacén entrantes" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "Código de barras" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "Código de barras escaneado" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "Código de barras en uso" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "Debe proporcionarse una cantidad entera para las partes rastreables" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "Se deben proporcionar las partidas" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "Se requiere ubicación de destino" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "Los valores del código de barras deben ser únicos" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "Envíos" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "Envíos completados" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "Moneda del precio de venta" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "Elementos asignados" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "No se proporcionaron detalles de envío" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "La partida no está asociada con este pedido" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "La cantidad debe ser positiva" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "Introduzca números de serie para asignar" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "El envío ya ha sido enviado" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "El envío no está asociado con este pedido" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "No se han encontrado coincidencias para los siguientes números de serie" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "Los siguientes números de serie no están disponibles" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "Partida de orden de devolución" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "La partida no coincide con la orden de devolución" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "La partida ya ha sido recibida" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "Los artículos sólo pueden ser recibidos contra pedidos en curso" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "Cantidad a devolver" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "Moneda de precio de línea" @@ -5142,24 +5174,24 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Categoría de parte" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "Categorías de parte" @@ -5191,7 +5223,7 @@ msgstr "Palabras clave por defecto para partes en esta categoría" msgid "Icon" msgstr "Icono" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "Icono (opcional)" @@ -5200,8 +5232,8 @@ msgstr "Icono (opcional)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "¡No puedes hacer que esta categoría de partes sea estructural porque algunas partes ya están asignadas!" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "Partes" @@ -5316,7 +5348,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:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" @@ -5357,7 +5389,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:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "Stock mínimo" @@ -5433,847 +5465,867 @@ msgstr "Dueño responsable de esta parte" msgid "Last Stocktake" msgstr "Último inventario" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "Vender múltiples" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "Moneda utilizada para almacenar en caché los cálculos de precios" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "Costo mínimo de BOM" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "Costo mínimo de partes de componentes" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "Costo máximo de BOM" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "Costo máximo de partes de componentes" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "Costo mínimo de compra" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "Costo histórico mínimo de compra" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "Costo máximo de compra" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "Costo histórico máximo de compra" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "Precio interno mínimo" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "Costo mínimo basado en precios reducidos internos" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "Precio interno máximo" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "Costo máximo basado en precios reducidos internos" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "Precio mínimo de proveedor" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "Precio mínimo de la parte de proveedores externos" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "Precio máximo de proveedor" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "Precio máximo de la parte de proveedores externos" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "Costo mínimo de variante" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "Costo mínimo calculado de las partes variantes" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "Costo máximo de variante" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "Costo máximo calculado de las partes variantes" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "Costo mínimo" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "Anular el costo mínimo" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "Costo máximo" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "Reemplazar coste máximo" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "Costo mínimo general calculado" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "Precio de venta mínimo" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "Precio de venta mínimo basado en precios reducidos" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "Precio de venta máximo" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "Precio de venta máximo basado en precios reducidos" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "Costo de venta mínimo" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "Precio de venta mínimo histórico" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "Costo de Venta Máximo" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "Precio de venta máximo histórico" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "Número de artículos" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Fecha" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "Notas adicionales" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "Costo de Stock Mínimo" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "Costo mínimo estimado del stock disponible" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "Informe" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "Número de partes" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "Las plantillas de prueba solo pueden ser creadas para partes de prueba" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "Nombre de prueba" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "Introduzca un nombre para la prueba" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "Descripción de prueba" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "Introduce la descripción para esta prueba" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "Habilitado" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "Requerido" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "¿Es necesario pasar esta prueba?" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "Requiere valor" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "¿Esta prueba requiere un valor al agregar un resultado de la prueba?" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "Adjunto obligatorio" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "¿Esta prueba requiere un archivo adjunto al agregar un resultado de la prueba?" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "Opciones" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "El nombre de parámetro en la plantilla tiene que ser único" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "Nombre de Parámetro" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "Casilla de verificación" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "¿Es este parámetro una casilla de verificación?" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "Opciones válidas para este parámetro (separados por comas)" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "Lista de selección para este parámetro" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "Opción inválida para el valor del parámetro" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "Parte principal" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "Plantilla de parámetro" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "Valor del parámetro" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "Valor predeterminado" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "Valor de parámetro por defecto" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "Seleccionar parte principal" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "Sub parte" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "Seleccionar parte a utilizar en BOM" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "Cantidad del artículo en BOM" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "Este artículo BOM es opcional" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Este artículo de BOM es consumible (no está rastreado en órdenes de construcción)" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "Exceso" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Cantidad estimada de desperdicio de construcción (absoluta o porcentaje)" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "Referencia de artículo de BOM" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "Notas del artículo de BOM" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "Suma de verificación" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "Suma de verificación de línea de BOM" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "Validado" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "Este artículo de BOM ha sido validado" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Este artículo BOM es heredado por BOMs para partes variantes" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Artículos de stock para partes variantes pueden ser usados para este artículo BOM" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "La cantidad debe ser un valor entero para las partes rastreables" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "Debe especificar la subparte" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "Ítem de BOM sustituto" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "La parte sustituta no puede ser la misma que la parte principal" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "Artículo BOM superior" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "Sustituir parte" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "Parte 1" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "Parte 2" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "Seleccionar parte relacionada" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "Nota para esta relación" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "Categoría principal de parte" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "Subcategorías" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "Moneda de compra de ítem de stock" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "Cantidad especulativa" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "ID del modelo" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "Parte original" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "Seleccione la parte original a duplicar" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "Copiar Imagen" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "Copiar imagen desde la parte original" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "Copiar BOM" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "Copiar la factura de materiales de la parte original" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "Copiar Parámetros" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "Copiar datos del parámetro de la parte original" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "Copiar Notas" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "Cantidad Inicial de Stock" -#: part/serializers.py:537 +#: part/serializers.py:550 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "Seleccione proveedor (o déjelo en blanco para saltar)" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleccionar fabricante (o dejar en blanco para saltar)" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "Número de parte del fabricante" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "La empresa seleccionada no es un proveedor válido" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "La empresa seleccionada no es un fabricante válido" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "Nombre de categoría" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "En construcción" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "Elementos de stock" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "Elementos de stock" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "Proveedores" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Inventario Total" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "Duplicar Parte" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "Stock Inicial" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "Crear Parte con cantidad inicial de stock" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "Información del proveedor" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "Añadir información inicial del proveedor para esta parte" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "Copiar Parámetros de Categoría" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "Copiar plantillas de parámetro de la categoría de partes seleccionada" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "Imagen Existente" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "El archivo de imagen no existe" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "Generar informe" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "Actualizar partes" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "Falló la comprobación en segundo plano del worker" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "Precio mínimo" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "Anular el valor calculado para precio mínimo" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "Precio mínimo de moneda" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "Precio máximo" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "Precio máximo de moneda" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "Actualizar" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1508 +#: part/serializers.py:1545 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:1511 +#: part/serializers.py:1548 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:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "Puede construir" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "Seleccionar parte de la que copiar BOM" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "Eliminar Datos Existentes" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "Eliminar artículos BOM existentes antes de copiar" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "Incluye Heredado" -#: part/serializers.py:1940 +#: part/serializers.py:1977 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:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "Omitir filas no válidas" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "Activar esta opción para omitir filas inválidas" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "Copiar partes sustitutas" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "Proporciona soporte nativo para códigos de barras" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "Proporciona soporte nativo para códigos de barras" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "Proporciona soporte nativo para imprimir etiquetas PDF" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "Modo de depuración" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "Activar modo de depuración - devuelve código HTML en lugar de PDF" @@ -6857,43 +6958,43 @@ msgstr "" msgid "Skip this number of labels when printing label sheets" msgstr "" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "" @@ -7046,21 +7147,21 @@ msgstr "Complemento" msgid "Method" msgstr "Método" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "No se encontró autor" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "El complemento '{p}' no es compatible con la versión actual de InvenTree {v}" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "El complemento requiere al menos la versión {v}" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "El complemento requiere como máximo la versión {v}" @@ -7345,7 +7446,7 @@ msgstr "Filtros" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "" @@ -7357,56 +7458,56 @@ msgstr "Tamaño de página para reportes PDF" msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "Ancho [mm]" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "Ancho de la etiqueta, especificado en mm" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "Altura [mm]" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "Altura de la etiqueta, especificada en mm" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "Fragmento" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "Archivo fragmento de informe" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "Descripción de archivo de fragmento" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "Activo" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "Reportar archivo de activos" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "Descripción del archivo de activos" @@ -7694,7 +7795,7 @@ msgstr "" msgid "Stock Location" msgstr "Ubicación de Stock" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "Ubicaciones de Stock" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "Externo" @@ -8599,115 +8700,115 @@ msgstr "Eliminar" msgid "Permission to delete items" msgstr "Permiso para eliminar artículos" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "Verificación de Inventario" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "Ordenes de compra" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "Órdenes de venta" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "Ordenes de devolución" diff --git a/src/backend/InvenTree/locale/et/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/et/LC_MESSAGES/django.po index c12345422a..0c7f3a0590 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:14\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Estonian\n" "Language: et_EE\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "" @@ -108,9 +108,9 @@ msgstr "Pane kuupäev" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "" msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "Vigane valik" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "Nimi" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "Kirjeldus" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "Kirjeldus (valikuline)" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "Tee" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "Serveri viga" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "Valuuta" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "" @@ -526,29 +526,29 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "" msgid "Part" msgstr "Osa" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "Määratud" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "" @@ -646,16 +646,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "Valikuline" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "" @@ -663,15 +663,15 @@ msgstr "" msgid "Tracked" msgstr "Jälgitud" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "" @@ -682,52 +682,56 @@ msgstr "" msgid "Available" msgstr "Saadaval" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "" msgid "Reference" msgstr "Tootekood" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:291 -msgid "Destination Location" -msgstr "" - -#: build/models.py:296 -msgid "Select location where the completed items will be stored" +#: build/models.py:299 +msgid "External Build" msgstr "" #: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 +msgid "Destination Location" +msgstr "" + +#: build/models.py:310 +msgid "Select location where the completed items will be stored" +msgstr "" + +#: build/models.py:314 msgid "Build Quantity" msgstr "" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "Koostamise olek" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "Loomise kuupäev" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "" -#: build/models.py:350 +#: build/models.py:364 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "" msgid "Quantity" msgstr "Kogus" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "Osa nimi" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "Asukoht" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "Tühista kõik laoseisu eraldised mahakantud väljundite jaoks" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "" -#: build/serializers.py:945 +#: build/serializers.py:946 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "Valikained" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "Jälgitav" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "Saadaval laos" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "" @@ -1429,544 +1441,544 @@ msgstr "" msgid "No plugin" msgstr "Pluginat pole" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "Uuendatud" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "Seade võti" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "Seade väärtus" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "ID" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "Pealkiri" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Link" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "Avaldatud" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "Autor" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "Kokkuvõte" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "Loetud" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "Pilt" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "Pildifail" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "Ühiku nimi" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "Sümbol" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "Definitsioon" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "Ühiku definitsioon" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "Manus" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "Puuduv fail" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "Puuduv väline link" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "Vali fail, mida lisada" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "Kommentaar" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "Faili suurus" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "Silt" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "Loodud" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Andmed" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "Vöötkoodi andmed" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "Kontekst" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "Vastus" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "Tulemus" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "" @@ -1988,7 +2000,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "" @@ -2004,80 +2016,88 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "Ülesande nimi" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "Funktsioon" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "Funktsiooni nimi" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "Argumendid" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "Ülesande argumendid" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "Failinimi" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "Mudeli liik" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2188,8 +2208,8 @@ msgstr "" #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "päeva" @@ -2417,8 +2437,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "Mall" @@ -2431,8 +2451,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "Komponent" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "Lehe suurus" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "Tootja" @@ -3546,8 +3558,8 @@ msgstr "Kontakttelefoni number" msgid "Contact email address" msgstr "Kontakt e-postiaadress" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "" @@ -3591,7 +3603,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "Aadress" @@ -3701,8 +3713,8 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "" @@ -3730,7 +3742,7 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "Tarnija" msgid "Select supplier" msgstr "Vali tarnija" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "" @@ -3782,8 +3794,8 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "" msgid "Note" msgstr "Märkus" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "" @@ -3818,7 +3830,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "" @@ -3854,15 +3866,15 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "" @@ -4186,101 +4198,105 @@ msgstr "" msgid "Config type" msgstr "" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "Staatus" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "" -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1241 +#: order/models.py:1283 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1251 +#: order/models.py:1293 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "" -#: order/models.py:1595 +#: order/models.py:1637 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1847 +#: order/models.py:1924 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "Müügihind" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "Saadetud" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Saadetis" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2218 +#: order/models.py:2301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "Rida" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2735 +#: order/models.py:2818 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "Tellimuse ID" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "Kopeeritava tellimuse ID" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "Kopeeri read" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "Kopeeri reaüksused algsest tellimusest" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "Kopeeri lisareaüksused algsest tellimusest" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "Määrake selle tellimuse dubleerimise valikud" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "Vale tellimuse ID" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "Tootekood" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "Vöötkood" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "Skännitud ribakood" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "Saadetised" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "Järgmised seerianumbrid ei ole saadaval" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "" @@ -5142,24 +5174,24 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Osa kategooria" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "Osa kategooriad" @@ -5191,7 +5223,7 @@ msgstr "" msgid "Icon" msgstr "Ikoon" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "Ikoon (valikuline)" @@ -5200,8 +5232,8 @@ msgstr "Ikoon (valikuline)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "Osad" @@ -5316,7 +5348,7 @@ msgstr "" msgid "Part category" msgstr "Osa kategooria" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5357,7 +5389,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "Minimaalne laoseis" @@ -5433,847 +5465,867 @@ msgstr "" msgid "Last Stocktake" msgstr "" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "Testimalle saab luua ainult testitavate osade jaoks" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "Originaalosa" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "Kopeeri pilt" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "Kopeeri parameetrid" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:537 +#: part/serializers.py:550 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "Kategooria nimi" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "Ehitamine" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "Tarnijad" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "Tarnija info" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "Minimaalne hind" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "Maksimaalne hind" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "Uuenda" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -6857,43 +6958,43 @@ msgstr "" msgid "Skip this number of labels when printing label sheets" msgstr "" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "Piirjoon" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "" @@ -7046,21 +7147,21 @@ msgstr "Plugin" msgid "Method" msgstr "Meetod" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "Autorit ei leitud" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7345,7 +7446,7 @@ msgstr "Filtrid" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "Mallifaili" @@ -7357,56 +7458,56 @@ msgstr "" msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "" @@ -7694,7 +7795,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "" @@ -8599,115 +8700,115 @@ msgstr "Kustuta" msgid "Permission to delete items" msgstr "" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "Admin" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "" diff --git a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po index da709d60a8..fe87f7d99d 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-20 07:28\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -47,7 +47,7 @@ msgstr "فیلترهای نامعتبر ارائه شده است" #: InvenTree/api.py:465 msgid "All filter must only be used with true" -msgstr "" +msgstr "تمامی فیلترها باید منحصراً با مقدار true مورد استفاده قرار گیرند" #: InvenTree/api.py:470 msgid "No items match the provided criteria" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "نمی‌توان {original} را به {unit} تبدیل کرد" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "مقدار ارائه شده نامعتبر است" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "جزئیات خطا را می توان در پنل مدیریت پیدا کرد" @@ -108,9 +108,9 @@ msgstr "تاریخ را وارد کنید" msgid "Invalid decimal value" msgstr "مقدار اعشاری نامعتبر است" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "مرجع باید با الگوی مورد نیاز مطابقت داش msgid "Reference number is too large" msgstr "شماره مرجع خیلی بزرگ است" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "نام‌های تکراری نمی‌توانند تحت یک والد وجود داشته باشند" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "انتخاب نامعتبر" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "نام" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "توضیحات" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "توضیحات (اختیاری)" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "مسیر" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "یادداشت های علامت گذاری (اختیاری)" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "داده های بارکد" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "داده های بارکد شخص ثالث" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "هش بارکد" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "هش منحصر به فرد داده های بارکد" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "بارکد موجود پیدا شد" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "شکست کار" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "پس از {n} تلاش، کار پس زمینه '{f}' ناموفق بود" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "خطای سرور" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "یک خطا توسط سرور ثبت شده است." -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "باید یک عدد معتبر باشد" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "ارز" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "ارز را از گزینه های موجود انتخاب کنید" @@ -526,29 +526,29 @@ msgstr "ارزش اضافه نباید از 100٪ تجاوز کند" msgid "Invalid value for overage" msgstr "" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "وضعیت سفارش" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "" msgid "Part" msgstr "قطعه" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "دسته" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "واگذار شده به من" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "صادر شده توسط" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "واگذار شده به" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "ایجاد شده قبل از" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "ایجاد شده بعد از" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "دارای تاریخ شروع" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "تاریخ شروع قبل از" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "تاریخ شروع بعد از" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "دارای تاریخ موعد" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "تاریخ موعد قبل از" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "تاریخ موعد بعد از" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "تکمیل شده قبل از" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "تکمیل شده بعد از" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "" @@ -646,16 +646,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "مصرفی" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "اختیاری" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "مونتاژ" @@ -663,15 +663,15 @@ msgstr "مونتاژ" msgid "Tracked" msgstr "" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "سفارش معوق" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "اختصاص داده شده" @@ -682,52 +682,56 @@ msgstr "اختصاص داده شده" msgid "Available" msgstr "در دسترس" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "سفارش ساخت" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "سفارش‌های ساخت" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "مرجع سفارش فروش" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "منبع محل" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:291 -msgid "Destination Location" -msgstr "مقصد" - -#: build/models.py:296 -msgid "Select location where the completed items will be stored" +#: build/models.py:299 +msgid "External Build" msgstr "" #: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 +msgid "Destination Location" +msgstr "مقصد" + +#: build/models.py:310 +msgid "Select location where the completed items will be stored" +msgstr "" + +#: build/models.py:314 msgid "Build Quantity" msgstr "" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "" -#: build/models.py:350 +#: build/models.py:364 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "تاریخ تکمیل" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "تکمیل شده توسط" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "صادر شده توسط" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "کاربری که این سفارش ساخت را صادر کرده است" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "" -#: build/serializers.py:945 +#: build/serializers.py:946 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "" @@ -1429,544 +1441,544 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "" @@ -1988,7 +2000,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "" @@ -2004,80 +2016,88 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2188,8 +2208,8 @@ msgstr "" #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "" @@ -2417,8 +2437,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "" @@ -2431,8 +2451,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "" @@ -3546,8 +3558,8 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "" @@ -3591,7 +3603,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "" @@ -3701,8 +3713,8 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "" @@ -3730,7 +3742,7 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "" @@ -3782,8 +3794,8 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "" @@ -3818,7 +3830,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "" @@ -3854,15 +3866,15 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "" @@ -4186,101 +4198,105 @@ msgstr "" msgid "Config type" msgstr "" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "" -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1241 +#: order/models.py:1283 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1251 +#: order/models.py:1293 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "" -#: order/models.py:1595 +#: order/models.py:1637 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1847 +#: order/models.py:1924 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2218 +#: order/models.py:2301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2735 +#: order/models.py:2818 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "" @@ -5142,24 +5174,24 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "" @@ -5191,7 +5223,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "" @@ -5200,8 +5232,8 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5316,7 +5348,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5357,7 +5389,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "" @@ -5433,847 +5465,867 @@ msgstr "" msgid "Last Stocktake" msgstr "" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:537 +#: part/serializers.py:550 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -6857,43 +6958,43 @@ msgstr "" msgid "Skip this number of labels when printing label sheets" msgstr "" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "" @@ -7046,21 +7147,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7345,7 +7446,7 @@ msgstr "" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "" @@ -7357,56 +7458,56 @@ msgstr "" msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "" @@ -7694,7 +7795,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "" @@ -8599,115 +8700,115 @@ msgstr "" msgid "Permission to delete items" msgstr "" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "" diff --git a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po index 767b945a80..790dd07e50 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:14\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "Annettu määrä on virheellinen" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "Virheen tiedot löytyvät hallintapaneelista" @@ -108,9 +108,9 @@ msgstr "Anna päivämäärä" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "" msgid "Reference number is too large" msgstr "Viitenumero on liian suuri" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "Virheellinen valinta" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "Nimi" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "Kuvaus" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "Kuvaus (valinnainen)" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "Polku" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "Viivakoodin Tiedot" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "Palvelinvirhe" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "Täytyy olla kelvollinen luku" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "Valuutta" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "Valitse valuutta käytettävissä olevista vaihtoehdoista" @@ -526,29 +526,29 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "" msgid "Part" msgstr "Osa" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "Kategoria" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "" @@ -646,16 +646,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "" @@ -663,15 +663,15 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "" @@ -682,52 +682,56 @@ msgstr "" msgid "Available" msgstr "Saatavilla" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:291 -msgid "Destination Location" -msgstr "" - -#: build/models.py:296 -msgid "Select location where the completed items will be stored" +#: build/models.py:299 +msgid "External Build" msgstr "" #: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 +msgid "Destination Location" +msgstr "" + +#: build/models.py:310 +msgid "Select location where the completed items will be stored" +msgstr "" + +#: build/models.py:314 msgid "Build Quantity" msgstr "" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "" -#: build/models.py:350 +#: build/models.py:364 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "Ulkoinen linkki" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Linkki ulkoiseen URLiin" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "" msgid "Quantity" msgstr "Määrä" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "Varastotuote" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "Sarjanumerot" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "Sijainti" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "Ei sallittu" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "" -#: build/serializers.py:945 +#: build/serializers.py:946 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "Seurattavissa" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "" @@ -1429,544 +1441,544 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "Päivitetty" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "Viimeisimmän päivityksen aikaleima" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "Käyttäjä" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "Hinta" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Aktiivinen" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "Salaisuus" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "Isäntä" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "Otsikko" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Linkki" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "Julkaistu" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "Julkaisija" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "Yhteenveto" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "Kuva" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "Kuvatiedosto" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "Liite" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "Puuttuva tiedosto" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "Puuttuva ulkoinen linkki" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "Valitse liitettävä tiedosto" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "Kommentti" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "Arvo" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "" @@ -1988,7 +2000,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "" @@ -2004,80 +2016,88 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "Tiedostonimi" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2188,8 +2208,8 @@ msgstr "" #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "päivää" @@ -2417,8 +2437,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "" @@ -2431,8 +2451,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "Komponentti" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "Sisäiset hinnat" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "Sisäisen hinnan ohitus" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "Sivun koko" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "Täytä sarjanumerot automaattisesti" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "Valmistaja" @@ -3546,8 +3558,8 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "Kontakti" @@ -3591,7 +3603,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "Osoite" @@ -3701,8 +3713,8 @@ msgstr "" msgid "Select manufacturer" msgstr "Valitse valmistaja" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "" @@ -3730,7 +3742,7 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "Toimittaja" msgid "Select supplier" msgstr "Valitse toimittaja" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "Toimittajan varastonimike" @@ -3782,8 +3794,8 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "" msgid "Note" msgstr "Muistiinpano" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "" @@ -3818,7 +3830,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "" @@ -3854,15 +3866,15 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "" @@ -4186,101 +4198,105 @@ msgstr "" msgid "Config type" msgstr "" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "Valmis" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "Hinta yhteensä" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "Tilauksen valuutta" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "Tilauksen viite" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "Tila" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Asiakas" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "Asiakkaan viite " -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1241 +#: order/models.py:1283 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1251 +#: order/models.py:1293 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "" -#: order/models.py:1595 +#: order/models.py:1637 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "Vastaanotettu" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1847 +#: order/models.py:1924 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "Lähetetty" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "Seurantakoodi" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "Laskunumero" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2218 +#: order/models.py:2301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2735 +#: order/models.py:2818 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "Viivakoodi" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "" @@ -5142,24 +5174,24 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "" @@ -5191,7 +5223,7 @@ msgstr "" msgid "Icon" msgstr "Kuvake" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "Kuvake (valinnainen)" @@ -5200,8 +5232,8 @@ msgstr "Kuvake (valinnainen)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5316,7 +5348,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5357,7 +5389,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "" @@ -5433,847 +5465,867 @@ msgstr "" msgid "Last Stocktake" msgstr "" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Päivämäärä" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "Muut merkinnät" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "Raportti" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "Käytössä" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:537 +#: part/serializers.py:550 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "Valmistajan osanumero" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "Luo raportti" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -6857,43 +6958,43 @@ msgstr "" msgid "Skip this number of labels when printing label sheets" msgstr "" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "" @@ -7046,21 +7147,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7345,7 +7446,7 @@ msgstr "Suodattimet" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "" @@ -7357,56 +7458,56 @@ msgstr "" msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "Leveys [mm]" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "Korkeus [mm]" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "" @@ -7694,7 +7795,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "" @@ -8599,115 +8700,115 @@ msgstr "Poista" msgid "Permission to delete items" msgstr "Oikeus poistaa kohteita" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "" diff --git a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po index 6980331ae0..a13049ce35 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-06-02 01:32\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "Impossible de convertir {original} en {unit}" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "Quantité fournie invalide" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "Les détails de l'erreur peuvent être trouvées dans le panneau d'administration" @@ -108,9 +108,9 @@ msgstr "Entrer la date" msgid "Invalid decimal value" msgstr "Valeur décimale invalide" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "La référence doit correspondre au modèle requis" msgid "Reference number is too large" msgstr "Le numéro de référence est trop grand" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 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:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "Choix invalide" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "Nom" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "Description" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "Description (facultative)" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "Chemin d'accès" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "Notes Markdown (option)" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "Données du code-barres" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "Données de code-barres tierces" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "Hash du code-barre" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "Hachage unique des données du code-barres" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "Code-barres existant trouvé" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "Échec de la tâche" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "La tâche de travail en arrière-plan '{f}' a échoué après {n} tentatives" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "Erreur serveur" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "Une erreur a été loguée par le serveur." -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "Doit être un nombre valide" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "Devise" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "Sélectionnez la devise à partir des options disponibles" @@ -526,29 +526,29 @@ msgstr "Le surplus ne doit pas dépasser 100%" msgid "Invalid value for overage" msgstr "Valeur invalide pour le dépassement" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Statut de la commande" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "Fabrication parente" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "Inclure les variantes" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "Inclure les variantes" msgid "Part" msgstr "Pièce" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "Catégorie" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "Version Précédente" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "Attribué à moi" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Émis par" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "Attribué à" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "Créé avant" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "Créé après" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "A une date de début" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "Date de début avant" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "Date de début après" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "A une date butoir" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "Date cible avant" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "Date cible après" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "Terminé avant" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "Terminé après" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "Date min" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "Date maximale" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "Exclure l'arbre" @@ -646,16 +646,16 @@ msgstr "Exclure l'arbre" msgid "Build must be cancelled before it can be deleted" msgstr "La construction doit être annulée avant de pouvoir être supprimée" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "Consommable" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "Facultatif" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "Assemblage" @@ -663,15 +663,15 @@ msgstr "Assemblage" msgid "Tracked" msgstr "Suivi" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "Testable" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "Commande en cours" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "Allouée" @@ -682,52 +682,56 @@ msgstr "Allouée" msgid "Available" msgstr "Disponible" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Ordre de Fabrication" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "Ordres de Fabrication" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "La liste des composants de l'assemblage n'a pas été validée" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "Impossible de créer un ordre de fabrication pour une pièce inactive" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "Impossible de créer un ordre de fabrication pour une pièce non verrouillée" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "Choix invalide pour la fabrication parente" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "Un utilisateur ou un groupe responsable doit être spécifié" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "La pièce de commande de construction ne peut pas être changée" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "La date cible doit être postérieure à la date de début" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "Référence de l' Ordre de Fabrication" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "Référence de l' Ordre de Fabrication" msgid "Reference" msgstr "Référence" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "Brève description de la fabrication (optionnel)" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder associé a cette fabrication" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "Sélectionnez la pièce à construire" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "Bon de commande de référence" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "Commande de vente à laquelle cette construction est allouée" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "Emplacement d'origine" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Sélectionner l'emplacement à partir duquel le stock doit être pris pour cette construction (laisser vide pour prendre à partir de n'importe quel emplacement de stock)" -#: build/models.py:291 +#: build/models.py:299 +msgid "External Build" +msgstr "" + +#: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 msgid "Destination Location" msgstr "Emplacement cible" -#: build/models.py:296 +#: build/models.py:310 msgid "Select location where the completed items will be stored" msgstr "Sélectionnez l'emplacement où les éléments complétés seront stockés" -#: build/models.py:300 +#: build/models.py:314 msgid "Build Quantity" msgstr "Quantité a fabriquer" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "Nombre de stock items à construire" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "Articles terminés" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "Nombre d'articles de stock qui ont été terminés" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "État de la construction" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "Code de statut de construction" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "Code de lot" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "Code de lot pour ce build output" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "Date de création" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "Début de la fabrication" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "Date de début prévue pour cet ordre de construction" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "Date d'achèvement cible" -#: build/models.py:350 +#: build/models.py:364 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:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "Date d'achèvement" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "achevé par" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "Émis par" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "Utilisateur ayant émis cette commande de construction" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Responsable" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "Utilisateur ou groupe responsable de cet ordre de construction" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "Lien Externe" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Lien vers une url externe" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "Priorité de fabrication" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "Priorité de cet ordre de fabrication" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Code du projet" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "Code de projet pour cet ordre de construction" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "Échec du déchargement de la tâche pour terminer les allocations de construction" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "La commande de construction {build} a été effectuée" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "Une commande de construction a été effectuée" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "Les numéros de série doivent être fournis pour les pièces traçables" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "Pas d'ordre de production défini" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "L'ordre de production a déjà été réalisé" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "L'ordre de production de correspond pas à l'ordre de commande" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "La quantité ne peut pas être supérieure à la quantité de sortie" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "La sortie de compilation {serial} n'a pas réussi tous les tests requis" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "Poste de l'ordre de construction" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "Création de l'objet" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "Création de l'objet" msgid "Quantity" msgstr "Quantité" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "Quantité requise pour la commande de construction" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "L'élément de construction doit spécifier une sortie de construction, la pièce maîtresse étant marquée comme objet traçable" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "La quantité allouée ({q}) ne doit pas excéder la quantité disponible ({a})" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "L'article de stock est suralloué" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "La quantité allouée doit être supérieure à zéro" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "La quantité doit être de 1 pour stock sérialisé" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "L'article de stock sélectionné ne correspond pas à la ligne BOM" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "Article en stock" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "Stock d'origine de l'article" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "Quantité de stock à allouer à la construction" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "Installer dans" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "Stock de destination de l'article" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "Niveau de construction" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "Nom de l'article" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "Code du projet Étiquette" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "Créer des constructions enfantines" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "Générer automatiquement des ordres de construction pour les enfants" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "Sortie d'assemblage" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "L'ordre de production ne correspond pas à l'ordre parent" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "La pièce en sortie ne correspond pas à la pièce de l'ordre de construction" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "Cet ordre de production a déjà été produit" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "Cet ordre de production n'est pas complètement attribué" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "Entrer la quantité désiré pour la fabrication" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "Quantité entière requise pour les pièces à suivre" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Quantité entière requise, car la facture de matériaux contient des pièces à puce" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "Numéros de série" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "Entrer les numéros de séries pour la fabrication" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "Emplacement" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "Emplacement de stock pour la sortie de la fabrication" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "Allouer automatiquement les numéros de série" -#: build/serializers.py:407 +#: build/serializers.py:408 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:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "Les numéros de série suivants existent déjà, ou sont invalides" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "Une liste d'ordre de production doit être fourni" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "Emplacement du stock pour les sorties épuisées" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "Ignorer les allocations" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "Abandonner les allocations de stock pour les sorties abandonnées" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "Motif de l'élimination des produits de construction(s)" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "Emplacement des ordres de production achevés" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "Accepter l'allocation incomplète" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "Compléter les sorties si le stock n'a pas été entièrement alloué" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "Consommation du stock alloué" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "Consommer tout stock qui a déjà été alloué à cette construction" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "Retirer les sorties incomplètes" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "Supprimer toutes les sorties de construction qui n'ont pas été complétées" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "Non permis" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "Accepter comme consommé par cet ordre de construction" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "Désaffecter avant de terminer cette commande de fabrication" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "Stock suralloué" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Comment voulez-vous gérer les articles en stock supplémentaires assignés à l'ordre de construction" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "Certains articles de stock ont été suralloués" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "Accepter les non-alloués" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Accepter les articles de stock qui n'ont pas été complètement alloués à cette ordre de production" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "Le stock requis n'a pas encore été totalement alloué" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "Accepter les incomplèts" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "Accepter que tous les ordres de production n'aient pas encore été achevés" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "La quantité nécessaire n'a pas encore été complétée" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "L'ordre de construction a des ordres de construction enfants ouverts" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "L'ordre de construction doit être en état de production" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "L'ordre de production a des sorties incomplètes" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "Chaîne d'assemblage" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "Sortie d'assemblage" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "La sortie de la construction doit pointer vers la même construction" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "Élément de la ligne de construction" -#: build/serializers.py:945 +#: build/serializers.py:946 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:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "L'article doit être en stock" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantité disponible ({q}) dépassée" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "La sortie de construction doit être spécifiée pour l'allocation des pièces suivies" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "La sortie de la construction ne peut pas être spécifiée pour l'allocation des pièces non suivies" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "Les articles d'allocation doivent être fournis" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Emplacement de stock où les pièces doivent être fournies (laissez vide pour les prendre à partir de n'importe quel emplacement)" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "Emplacements exclus" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "Exclure les articles de stock de cet emplacement sélectionné" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "Stock interchangeable" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Les articles de stock à plusieurs emplacements peuvent être utilisés de manière interchangeable" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "Stock de substitution" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "Autoriser l'allocation de pièces de remplacement" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "Objets Optionnels" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "Affecter des éléments de nomenclature facultatifs à l'ordre de fabrication" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "Échec du démarrage de la tâche d'auto-allocation" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "Référence de la nomenclature" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "ID de la pièce de la nomenclature" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "Nomenclature Nom de la pièce" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "Construire" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "Pièce fournisseur" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "Quantité allouée" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "Référence de construction" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "Nom de la catégorie de pièces" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "Traçable" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "Reçu de quelqu'un" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "Autoriser les variantes" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "Article du BOM" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "Stock alloué" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "En Commande" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "En Production" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "Stock externe" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "Stock disponible" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "Stock de substitution disponible" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "Stock de variantes disponibles" @@ -1429,544 +1441,544 @@ msgstr "Aucun code de devise valide fourni" msgid "No plugin" msgstr "Pas de plugin" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "Mise à jour" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "Date de la dernière mise à jour" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "Code projet unique" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "Description du projet" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "Utilisateur ou groupe responsable de ce projet" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "Paramétrés des touches" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "Valeur du paramètre" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "La valeur choisie n'est pas une option valide" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "La valeur doit être une valeur booléenne" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "La valeur doit être un nombre entier" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "Valeur doit être un nombre valide" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "La valeur ne passe pas les contrôles de validation" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "La chaîne de caractères constituant la clé doit être unique" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "Utilisateur" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "Quantité de rupture de prix" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "Prix" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "Prix unitaire à la quantité spécifiée" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "Point final" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "Point de terminaison auquel ce webhook est reçu" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "Nom de ce webhook" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Actif" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "Ce webhook (lien de rappel HTTP) est-il actif" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "Jeton" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "Jeton d'accès" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "Confidentiel" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "Secret partagé pour HMAC" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "ID message" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "Identifiant unique pour ce message" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "Hôte" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "Hôte à partir duquel ce message a été reçu" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "Entête" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "En-tête de ce message" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "Corps" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "Corps de ce message" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "Endpoint à partir duquel ce message a été reçu" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "Travaillé sur" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "Le travail sur ce message est-il terminé ?" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "Id" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "Titre" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Lien" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "Publié" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "Auteur" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "Résumé" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "Lu" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "Cette nouvelle a-t-elle été lue ?" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "Image" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "Fichier image" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "Type de modèle cible pour cette image" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "ID du modèle cible pour cette image" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "Unité personnalisée" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "Le symbole de l'unité doit être unique" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "Le nom de l'unité doit être un identifiant valide" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "Nom de l'unité" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "Symbole" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "Symbole d'unité facultatif" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "Définition" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "Définition de l'unité" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "Pièce jointe" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "Fichier manquant" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "Lien externe manquant" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "Type de modèle" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "Type de modèle cible pour l'image" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "Sélectionnez un fichier à joindre" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "Commentaire" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "Commentaire sur la pièce jointe" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "Date de téléchargement" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "Date de téléchargement du fichier" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "Taille du fichier" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "Taille du fichier en octets" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "Type de modèle non valide spécifié pour la pièce jointe" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "État personnalisé" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "États membres de l'Union européenne" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "Ensemble d'états de référence" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "Ensemble d'états étendu à cet état personnalisé" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "Clé logique" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "Clé logique de l'état qui est égale à cet état personnalisé dans la logique métier" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "Valeur" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "Valeur numérique qui sera enregistrée dans la base de données des modèles" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "Nom de l'Etat" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "Étiquette" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "Etiquette qui sera affichée dans le frontend" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "Couleur" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "Couleur qui sera affichée dans le frontend" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "Modèle" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "Modèle cet état est associé à" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "Le modèle doit être sélectionné" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "La clé doit être sélectionnée" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "La clé logique doit être sélectionnée" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "La clé doit être différente de la clé logique" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "Une classe de statut de référence valide doit être fournie" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "La clé doit être différente des clés logiques de l'état de référence" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "La clé logique doit se trouver dans les clés logiques de l'état de référence" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "Le nom doit être différent des noms des statuts de référence" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "Liste de sélection" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "Listes de sélection" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "Nom de la liste de sélection" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "Description de la liste de sélection" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "Verrouillé" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "Cette liste de sélection est-elle verrouillée ?" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "Cette liste de sélection peut-elle être utilisée ?" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "Plug-in source" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "Plugin qui fournit la liste de sélection" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "Chaîne source" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "Chaîne facultative identifiant la source utilisée pour cette liste" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "Entrée par défaut" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "Entrée par défaut pour cette liste de sélection" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "Créé le" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "Date et heure de création de la liste de sélection" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "Dernière mise à jour" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "Date et heure de la dernière mise à jour de la liste de sélection" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "Entrée de la liste de sélection" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "Entrées de la liste de sélection" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "Liste de sélection à laquelle appartient cette entrée" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "Valeur de l'entrée de la liste de sélection" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "Étiquette pour l'entrée de la liste de sélection" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "Description de l'entrée de la liste de sélection" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "Cette entrée de la liste de sélection est-elle active ?" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "Analyse du code-barres" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Données" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "Données du code-barres" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "Utilisateur qui a scanné le code-barres" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "Horodatage" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "Date et heure du scan de code-barres" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "Point d'accès à l'URL qui a traité le code-barres" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "Contexte" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "Données contextuelles pour la lecture du code-barres" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "Réponse" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "Données de réponse provenant de la lecture du code-barres" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "Résultat" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "La lecture du code-barres a-t-elle réussi ?" @@ -1988,7 +2000,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:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "Articles reçus" @@ -2004,80 +2016,88 @@ msgstr "Les articles ont été reçus dans le cadre d'un ordre de retour" msgid "Error raised by plugin" msgstr "Erreur déclenchée par le plugin" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "En cours d'exécution" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "Tâches en attente" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "Tâches planifiées" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "Tâches échouées" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "ID de la tâche" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "ID unique de la tâche" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "Verrouillé" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "Heure verrouillé" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "Nom de la tâche" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "Fonction" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "Nom de la fonction" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "Arguments" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "Arguments tâche" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "Mots-clés Arguments" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "Mots-clés arguments tâche" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "Nom du fichier" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "Type de modèle" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "L'utilisateur n'a pas le droit de créer ou de modifier des pièces jointes pour ce modèle" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "La liste de sélection est verrouillée" @@ -2188,8 +2208,8 @@ msgstr "Fréquence de mise à jour des taux de change (définir à zéro pour d #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "jours" @@ -2417,8 +2437,8 @@ msgstr "Copier les templates de paramètres de catégorie" msgid "Copy category parameter templates when creating a part" msgstr "Copier les templates de paramètres de la catégorie lors de la création d'une pièce" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "Modèle" @@ -2431,8 +2451,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:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "Composant" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "Les pièces sont virtuelles par défaut" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "Afficher l'import dans les vues" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "Afficher l'assistant d'importation pour certaine vues de produits" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "Afficher les pièces connexes" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "Afficher les pièces connexes à une pièce" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "Stock initial" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "Permettre la création d'un stock initial lors de l'ajout d'une nouvelle pièce" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "Données initiales du fournisseur" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Permettre la création des données initiales du fournisseur lors de l'ajout d'une nouvelle pièce" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "Format d'affichage du nom de la pièce" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "Format pour afficher le nom de la pièce" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "Icône de catégorie par défaut" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "Icône par défaut de la catégorie de la pièce (vide signifie aucune icône)" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "Renforcer les unités des paramètres" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "Si des unités sont fournies, les valeurs de paramètre doivent correspondre aux unités spécifiées" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "Nombre minimal de décimales" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Nombre minimum de décimales à afficher lors de l'affichage des prix" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "Nombre maximal de décimales pour la tarification" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Nombre maximal de décimales à afficher lors du rendu des données de tarification" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "Utiliser le prix fournisseur" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Inclure les réductions de prix dans le calcul du prix global" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "Remplacer l'historique des achats" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "La tarification historique des bons de commande remplace les réductions de prix des fournisseurs" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "Utiliser les prix des articles en stock" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Utiliser les prix des données de stock saisies manuellement pour calculer les prix" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "Âge de tarification des articles de stock" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Exclure les articles en stock datant de plus de ce nombre de jours des calculs de prix" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "Utiliser les prix variants" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "Inclure la tarification variante dans le calcul global des prix" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "Variantes actives uniquement" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "N'utiliser que des pièces de variante actives pour calculer le prix de la variante" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "Intervalle de regénération des prix" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "Nombre de jours avant la mise à jour automatique du prix de la pièce" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "Prix internes" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "Activer les prix internes pour les pièces" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "Substitution du prix interne" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "Si disponible, les prix internes remplacent les calculs de la fourchette de prix" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "Activer l'impression d'étiquettes" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "Activer l'impression d'étiquettes depuis l'interface Web" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "Étiquette image DPI" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Résolution DPI lors de la génération de fichiers image pour fournir aux plugins d'impression d'étiquettes" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "Activer les rapports" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "Activer la génération de rapports" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "Mode Débogage" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "Générer des rapports en mode debug (sortie HTML)" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "Journal des erreurs" -#: common/setting/system.py:633 +#: common/setting/system.py:627 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:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "Taille de la page" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "Taille de page par défaut pour les rapports PDF" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "Numéro de Série Universellement Unique" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "Les numéros de série pour les articles en stock doivent être uniques au niveau global" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "Remplir automatiquement les Numéros de Série" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "Remplir automatiquement les numéros de série dans les formulaires" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "Supprimer le stock épuisé" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "Détermine le comportement par défaut lorsqu'un article de stock est épuisé" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "Modèle de code de lot" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "Modèle pour générer des codes par défaut pour les articles en stock" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "Expiration du stock" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "Activer la fonctionnalité d'expiration du stock" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "Vendre le stock expiré" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "Autoriser la vente de stock expiré" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "Délai de péremption du stock" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "Nombre de jours pendant lesquels les articles en stock sont considérés comme périmés avant d'expirer" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "Construction de stock expirée" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "Autoriser la construction avec un stock expiré" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "Contrôle de la propriété des stocks" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "Activer le contrôle de la propriété sur les emplacements de stock et les articles" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "Icône par défaut de l'emplacement du stock" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "Icône par défaut de l'emplacement du stock (vide signifie aucune icône)" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "Afficher les pièces en stock installées" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "Affichage des articles en stock installés dans les tableaux de stock" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "Vérifier la nomenclature lors de l'installation des articles" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Les articles de stock installés doivent exister dans la nomenclature de la pièce mère" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "Autoriser le transfert des produits en rupture de stock" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Permettre le transfert d'articles qui ne sont pas en stock d'un magasin à l'autre" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "Modèle de référence de commande de construction" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "Modèle requis pour générer le champ de référence de l'ordre de construction" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "Nécessite un Responsable propriétaire" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "Un propriétaire responsable doit être assigné à chaque commande" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "Exiger une partie active" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "Empêcher la création d'un ordre de fabrication pour les pièces inactives" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "Requiert une pièce verrouillée" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "Empêcher la création d'un ordre de fabrication pour les pièces non verrouillées" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "Exiger une nomenclature valide" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "Empêcher la création d'un ordre de fabrication si la nomenclature n'a pas été validée" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "Exiger des ordonnances fermées pour les enfants" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "Empêcher l'achèvement de l'ordre de construction jusqu'à ce que tous les ordres d'enfants soient clôturés" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "Blocage jusqu'à la réussite des tests" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "Afficher les informations relatives à l'inventaire des pièces (si la fonctionnalité d'inventaire est activée)" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "Longueur de la chaîne dans les Tableau" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "Longueur maximale des chaînes affichées dans les tableaux" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "Afficher le dernier fil d'Ariane" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "Afficher la page actuelle dans les fils d'Ariane" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "Recevoir des rapports d'erreur" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "Recevoir des notifications en cas d'erreurs du système" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "Dernières machines d'impression utilisées" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "Sauvegarder les dernières machines d'impression utilisées par un utilisateur" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "Le fournisseur est actif" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "Fabricant" @@ -3546,8 +3558,8 @@ msgstr "Numéro de téléphone de contact" msgid "Contact email address" msgstr "Adresse e-mail de contact" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "Contact" @@ -3591,7 +3603,7 @@ msgstr "Cette entreprise fabrique-t-elle des pièces?" msgid "Default currency used for this company" msgstr "Devise par défaut utilisée pour cette entreprise" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "Adresse" @@ -3701,8 +3713,8 @@ msgstr "Sélectionner une partie" msgid "Select manufacturer" msgstr "Sélectionner un fabricant" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "Référence fabricant" @@ -3730,7 +3742,7 @@ msgstr "Nom du paramètre" msgid "Parameter value" msgstr "Valeur du paramètre" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Unités" @@ -3751,7 +3763,7 @@ 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:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "Fournisseur" msgid "Select supplier" msgstr "Sélectionner un fournisseur" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "Unité de gestion des stocks des fournisseurs" @@ -3782,8 +3794,8 @@ msgstr "Lien de la pièce du fournisseur externe" msgid "Supplier part description" msgstr "Description de la pièce du fournisseur" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "Description de la pièce du fournisseur" msgid "Note" msgstr "Note" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "coût de base" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "Frais minimums (par exemple frais de stock)" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "Conditionnement" @@ -3818,7 +3830,7 @@ msgstr "Nombre de paquet" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Quantité totale fournie dans un emballage unique. Laisser vide pour les articles individuels." -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "plusieurs" @@ -3854,15 +3866,15 @@ msgstr "Devise par défaut utilisée pour ce fournisseur" msgid "Company Name" msgstr "Nom de l'entreprise" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "En Stock" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "Une erreur s'est produite lors de l'exportation des données" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "Le plugin d'exportation de données renvoie un format de données incorrect" @@ -4098,7 +4110,7 @@ msgstr "Nombre de copies à imprimer pour chaque étiquette" msgid "Connected" msgstr "Connecté" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "Inconnu" @@ -4186,101 +4198,105 @@ msgstr "Configuration de la machine" msgid "Config type" msgstr "Type de configuration" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "Référence de commande" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "Remarquable" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "A le code du projet" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "Créé par" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "Créé avant" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "Créé après" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "A la date de début" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "Date de début Avant" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "Date de début Après" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "A une date cible" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "Date cible Avant" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "Date cible Après" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "Possède un Tarif" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "Terminé avant" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "Terminé après" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "Commande" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "Commande Complétée" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "Pièces Internes" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "Commande En Attente" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "Terminé" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "Fait l'objet d'une expédition" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Commande d’achat" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "Commande d’achat" msgid "Sales Order" msgstr "Commandes" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "Retour de commande" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "Prix Total" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "Prix total pour cette commande" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "Devise de la commande" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "Devise de cette commande (laisser vide pour utiliser la devise par défaut de l'entreprise)" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "Cette commande est verrouillée et ne peut être modifiée" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "Le contact ne correspond pas à l'entreprise sélectionnée" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "La date de début doit être antérieure à la date cible" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "Description de la commande (facultatif)" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "Sélectionner le code du projet pour cette commande" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "Lien vers une page externe" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "Date de début" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "Date de début prévue pour cette commande" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Date Cible" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Date prévue pour la livraison de la commande. La commande sera en retard après cette date." -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "Date d'émission" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "Date d'émission de la commande" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "Utilisateur ou groupe responsable de cette commande" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "Point de contact pour cette commande" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "Adresse de l'entreprise pour cette commande" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "Référence de la commande" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "État" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "Statut de la commande d'achat" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "Société de laquelle les articles sont commandés" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "Référence du fournisseur" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "Code de référence de la commande fournisseur" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "reçu par" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "Date à laquelle la commande a été complété" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "Destination" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "Destination des articles reçus" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "Le fournisseur de la pièce doit correspondre au fournisseur de la commande" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "La quantité doit être un nombre positif" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Client" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "Société à laquelle les articles sont vendus" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "Statut de la commande client" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "Référence client " -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "Code de référence de la commande du client" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "Nom de l’expédition" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "expédié par" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "La commande est déjà terminée" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "La commande est déjà annulée" -#: order/models.py:1237 +#: order/models.py:1279 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:1241 +#: order/models.py:1283 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:1246 +#: order/models.py:1288 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:1251 +#: order/models.py:1293 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:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "La commande est verrouillée et ne peut être modifiée" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "Nombre d'élement" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "Référence du poste" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "Notes sur les postes" -#: order/models.py:1595 +#: order/models.py:1637 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:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "Description du poste (facultatif)" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "Contexte supplémentaire pour cette ligne" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "Prix unitaire" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "Poste du bon de commande" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "La pièce du fournisseur doit correspondre à celle du fournisseur" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "Pièce fournisseur" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "Reçu" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "Nombre d'éléments reçus" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "Prix d'achat" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "Prix d'achat unitaire" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "Ligne supplémentaire du bon de commande" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "Poste de commande client" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "La pièce virtuelle ne peut pas être affectée à une commande" -#: order/models.py:1847 +#: order/models.py:1924 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:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "Prix de vente" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "Prix de vente unitaire" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "Expédié" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "Quantité expédiée" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "Envoi de la commande client" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "Date d'expédition" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "Date de Livraison" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "Date de livraison de l'envoi" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "Vérifié par" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "Utilisateur qui a vérifié cet envoi" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Envoi" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "Numéro d'expédition" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "N° de suivi" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "Information de suivi des colis" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "N° de facture" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "Numéro de référence de la facture associée" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "Le colis a déjà été envoyé" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "L'expédition n'a pas d'articles en stock alloués" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "Ligne supplémentaire de commande client" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "Affectation des commandes clients" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "L'article de stock n'a pas été assigné" -#: order/models.py:2218 +#: order/models.py:2301 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:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "Impossible d'allouer le stock à une ligne sans pièce" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantité d'allocation ne peut pas excéder la quantité en stock" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 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:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "La commande client ne correspond pas à l'expédition" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "L'envoi ne correspond pas à la commande client" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "Ligne" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "Référence de l'expédition de la commande client" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "Article" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "Sélectionner l'article de stock à affecter" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "Saisir la quantité d'allocation de stock" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "Retour Référence de la commande" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "Entreprise à l'origine du retour des articles" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "Statut du retour de commande" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "Poste de l'ordre de retour" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "L'article en stock doit être spécifié" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "La quantité retournée dépasse la quantité en stock" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "La quantité retournée doit être supérieure à zéro" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "Quantité non valide pour un article de stock sérialisé" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "Sélectionner l'article à retourner par le client" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "Date de réception" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "La date de réception de cet article en retour" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "Résultats" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "Résultat pour ce poste" -#: order/models.py:2735 +#: order/models.py:2818 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:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "Ordre de retour Ligne supplémentaire" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "ID de commande" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "ID de l'ordre à dupliquer" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "Copier des lignes" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "Copier les postes de l'ordre original" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "Copier les lignes supplémentaires" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "Copier les postes supplémentaires de l'ordre original" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "Postes de travail" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "Lignes achevées" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "Duplicata de commande" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "Spécifier les options de duplication de cette commande" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "ID de commande invalide" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "Nom du fournisseur" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "La commande ne peut pas être annulée" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "Permettre la clôture d'une commande avec des postes incomplets" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "La commande comporte des postes incomplets" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "La commande n'est pas ouverte" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "Tarification automobile" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "Calculer automatiquement le prix d'achat sur la base des données de pièces du fournisseur" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "Devise du prix d'achat" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "Fusionner des éléments" -#: order/serializers.py:651 +#: order/serializers.py:658 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:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "Unité de gestion des stocks" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "Numéro de pièce interne" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "Nom de la pièce interne" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "La pièce du fournisseur doit être spécifiée" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "Le bon de commande doit être spécifié" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "Le fournisseur doit correspondre au bon de commande" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "Le bon de commande doit correspondre au fournisseur" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "Poste" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "Le poste ne correspond pas au bon de commande" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "Sélectionner le lieu de destination des envois reçus" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "Saisir le code de lot pour les articles de stock entrant" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "Date d'expiration" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "Saisir la date d'expiration des articles de stock entrant" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "Entrez les numéros de série pour les articles de stock entrants" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "Remplacer les informations d'emballage pour les articles en stock entrants" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "Note supplémentaire pour les articles en stock entrant" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "Code-barres" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "Code-barres scanné" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "Le code-barres est déjà utilisé" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "Une quantité entière doit être fournie pour les pièces tracables" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "Les postes doivent être fournis" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "L'emplacement de la destination doit être spécifié" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "Les valeurs de code-barres fournies doivent être uniques" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "Envois" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "Envois terminés" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "Devise du prix de vente" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "Postes alloués" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "Aucun détail sur l'expédition n'est fourni" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "Le poste n'est pas associé à cette commande" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "La quantité doit être positive" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "Entrez les numéros de série à allouer" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "L'envoi a déjà été effectué" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "L'envoi n'est pas associé à cette commande" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "Aucune correspondance trouvée pour les numéros de série suivants" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "Les numéros de série suivants sont indisponibles" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "Poste de commande de retour" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "Le poste ne correspond pas à l'ordre de retour" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "Le poste a déjà été reçu" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "Les articles ne peuvent être reçus que pour des commandes en cours" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "Quantité à retourner" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "Devise du prix de la ligne" @@ -5142,24 +5174,24 @@ msgstr "A des révisions" msgid "BOM Valid" msgstr "Nomenclature valide" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "La pièce d'assemblage est testable" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "Le composant est testable" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "Utilise" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Catégorie de composant" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "Catégories de composants" @@ -5191,7 +5223,7 @@ msgstr "Mots-clés par défaut pour les pièces de cette catégorie" msgid "Icon" msgstr "Icône" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "Icône (facultatif)" @@ -5200,8 +5232,8 @@ msgstr "Icône (facultatif)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Vous ne pouvez pas rendre cette catégorie de pièces structurelle car certaines pièces lui sont déjà affectées !" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "Pièces" @@ -5316,7 +5348,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:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" @@ -5357,7 +5389,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:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "Stock Minimum" @@ -5433,847 +5465,867 @@ msgstr "Propriétaire responsable de cette pièce" msgid "Last Stocktake" msgstr "Dernier inventaire" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "Ventes multiples" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "Devise utilisée pour cacher les calculs de prix" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "Coût minimum de la nomenclature" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "Coût minimal des composants" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "Coût maximal de la nomenclature" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "Coût maximal des composants" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "Coût d'achat minimum" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "Coût d'achat historique minimum" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "Coût d'achat maximum" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "Coût d'achat historique maximum" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "Prix interne minimum" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "Coût minimum basé sur des ruptures de prix internes" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "Prix interne maximum" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "Coût maximum basé sur les écarts de prix internes" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "Prix minimum du fournisseur" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "Prix minimum des pièces provenant de fournisseurs externes" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "Prix maximum du fournisseur" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "Prix maximum des pièces provenant de fournisseurs externes" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "Coût minimum de la variante" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "Calcul du coût minimum des pièces de la variante" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "Coût maximal de la variante" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "Calcul du coût maximal des pièces de la variante" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "Coût minimal" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "Remplacer le coût minimum" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "Coût maximal" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "Dépassement du coût maximal" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "Calcul du coût minimum global" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "Calcul du coût maximum global" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "Prix de vente minimum" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "Prix de vente minimum basé sur des ruptures de prix" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "Prix de vente maximum" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "Prix de vente maximum en fonction des écarts de prix" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "Coût minimum de vente" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "Prix de vente historique minimum" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "Coût de vente maximum" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "Prix de vente historique maximum" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "Partie pour l'inventaire" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "Nombre d'articles" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "Nombre d'entrées individuelles au moment de l'inventaire" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "Stock total disponible au moment de l'inventaire" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Date" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "Date de l'inventaire" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "Notes additionnelles" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "Utilisateur ayant effectué ce bilan" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "Coût minimum du stock" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "Coût minimum estimé des stocks disponibles" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "Coût maximal du stock" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "Coût maximum estimé des stocks disponibles" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "Rapport" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "Fichier de rapport d'inventaire (généré en interne)" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "Nombre de pièces" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "Nombre de pièces couvertes par l'inventaire" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "Utilisateur ayant demandé ce rapport d'inventaire" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "Vente de pièces détachées Prix cassé" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "Modèle de test partiel" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Le nom du modèle n'est pas valide - il doit comporter au moins un caractère alphanumérique" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "Les choix doivent être uniques" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "Les modèles de test ne peuvent être créés que pour les parties testables" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "Un modèle de test avec la même clé existe déjà pour la partie" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "Nom de test" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "Entrez un nom pour le test" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "Clé de test" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "Clé simplifiée pour le test" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "Description du test" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "Saisir la description de ce test" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "Activé" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "Ce test est-il activé ?" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "Requis" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "Ce test est-il obligatoire pour passer l'examen ?" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "Valeur requise" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "Ce test nécessite-t-il une valeur lors de l'ajout d'un résultat de test ?" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "Nécessite une pièce jointe" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "Ce test nécessite-t-il un fichier joint lors de l'ajout d'un résultat de test ?" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "Choix" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "Choix valables pour ce test (séparés par des virgules)" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "Modèle de paramètre de pièce" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "Les paramètres des cases à cocher ne peuvent pas avoir d'unités" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "Les paramètres des cases à cocher ne peuvent pas comporter de choix" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "Le nom du modèle de paramètre doit être unique" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "Nom du paramètre" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "Unités physiques pour ce paramètre" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "Description des paramètres" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "Case à cocher" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "Ce paramètre est-il une case à cocher ?" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "Choix valables pour ce paramètre (séparés par des virgules)" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "Liste de sélection pour ce paramètre" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "Partie Paramètre" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "Le paramètre ne peut pas être modifié - la pièce est verrouillée" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "Choix incorrect pour la valeur du paramètre" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "Partie parentale" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "Modèle de paramètre" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "Valeur du paramètre" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "Catégorie de pièce Modèle de paramètre" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "Valeur par Défaut" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "Valeur par défaut du paramètre" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "L'article de nomenclature ne peut pas être modifié - l'assemblage est verrouillé" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "Le poste de nomenclature ne peut pas être modifié - l'assemblage de la variante est verrouillé" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "Sélectionner la partie parentale" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "Sous-partie" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "Sélectionner la pièce à utiliser dans la nomenclature" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "Quantité de nomenclature pour ce poste de nomenclature" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "Ce poste de nomenclature est facultatif" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Ce poste de nomenclature est consommable (il n'est pas suivi dans les ordres de fabrication)." -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "Surplus" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Estimation de la quantité de déchets de construction (en valeur absolue ou en pourcentage)" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "Référence du poste de nomenclature" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "Notes sur les postes de nomenclature" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "Somme de contrôle" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "Somme de contrôle de la ligne de nomenclature" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "Validée" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "Ce poste de nomenclature a été validé" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "Obtient l'héritage" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Ce poste de nomenclature est hérité des nomenclatures des composants variants" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Les postes de stock pour les composants variants peuvent être utilisés pour ce poste de nomenclature" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "La quantité doit être un nombre entier pour les pièces pouvant être suivies" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "La sous-partie doit être spécifiée" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "Remplacement d'un poste de nomenclature" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "La pièce de remplacement ne peut pas être identique à la pièce maîtresse" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "Poste de nomenclature parent" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "Pièce de rechange" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "Première partie" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "Partie 2" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "Sélectionner une partie connexe" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "Note pour cette relation" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "Il n'est pas possible de créer une relation entre une pièce et elle-même" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "Une relation en double existe déjà" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "Catégorie de parents" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "Catégorie de pièce mère" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "Sous-catégories" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "Résultats" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "Nombre de résultats enregistrés par rapport à ce modèle" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "Devise d'achat de l'item" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "Quantité spéculative" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "Identifiant du Modèle" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "Le fichier n'est pas une image" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "Nombre de pièces utilisant ce modèle" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "Partie originale" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "Sélectionner la partie originale à dupliquer" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "Copier l'image" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "Copier l'image à partir de la partie originale" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "Copier la nomenclature" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "Copie de la nomenclature de la pièce originale" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "Copier les paramètres" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "Copie des données de paramètres de la pièce d'origine" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "Notes sur la copie" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "Copier les notes de la partie originale" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "Quantité de stock initial" -#: part/serializers.py:537 +#: part/serializers.py:550 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:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "Emplacement initial du stock" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "Spécifier l'emplacement du stock initial pour cette pièce" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "Sélectionner le fournisseur (ou laisser en blanc pour passer)" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "Sélectionner le fabricant (ou laisser en blanc pour ignorer)" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "Numéro de pièce du fabricant" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "L'entreprise sélectionnée n'est pas un fournisseur valide" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "L'entreprise sélectionnée n'est pas un fabricant valide" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "La pièce du fabricant correspondant à ce MPN existe déjà" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "La pièce du fournisseur correspondant à cette UGS existe déjà" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "Nom catégorie" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "Construction" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" +msgstr "" + +#: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 msgid "Stock Items" msgstr "Éléments en stock" -#: part/serializers.py:955 +#: part/serializers.py:983 msgid "Revisions" msgstr "Révisions" -#: part/serializers.py:958 +#: part/serializers.py:987 msgid "Suppliers" msgstr "Fournisseurs" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Stock total" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "Stock non attribué" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "Variante Stock" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "Dupliquer une pièce" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "Copier les données initiales d'une autre partie" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "Stock initial" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "Créer une pièce avec une quantité de stock initiale" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "Informations sur le fournisseur" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "Ajouter les informations initiales du fournisseur pour cette pièce" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "Copier les paramètres de la catégorie" -#: part/serializers.py:1030 +#: part/serializers.py:1064 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:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "Image existante" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "Nom de fichier d'une image de pièce existante" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "Le fichier image n'existe pas" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Limiter le rapport d'inventaire à une pièce particulière et à toute variante de pièce" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Limiter le rapport d'inventaire à une catégorie de pièces particulière et à toutes les catégories inférieures" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Limiter le rapport d'inventaire à un lieu de stockage particulier et à tous les lieux subordonnés" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "Exclure le stock externe" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "Exclure les articles en stock dans les sites externes" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "Générer un rapport" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "Générer un fichier de rapport contenant les données calculées de l'inventaire" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "Mise à jour des pièces" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "Mettre à jour les parties spécifiées avec les données calculées de l'inventaire" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "La fonctionnalité d'inventaire n'est pas activée" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "Échec de la vérification du processus d'arrière-plan" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "Prix Minimum" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "Remplacer la valeur calculée pour le prix minimum" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "Prix minimum monnaie" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "Prix Maximum" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "Remplacer la valeur calculée pour le prix maximum" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "Devise du prix maximum" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "Mise à jour" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "Mise à jour des prix pour cette pièce" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, 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:1508 +#: part/serializers.py:1545 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:1511 +#: part/serializers.py:1548 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:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "Sélectionner l'assemblage parent" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "Sélectionner le composant" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "Peut construire" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "Sélectionner la pièce à partir de laquelle copier la nomenclature" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "Supprimer les données existantes" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "Supprimer les postes de nomenclature existants avant de les copier" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "Inclure l'héritage" -#: part/serializers.py:1940 +#: part/serializers.py:1977 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:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "Sauter les lignes non valides" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "Activez cette option pour ignorer les lignes non valides" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "Copier les pièces de remplacement" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copie de pièces de rechange en cas de duplication de postes de nomenclature" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "Prise en charge native des codes-barres" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "Prise en charge native des codes-barres" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "Préfixe du code-barres abrégé" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "Personnaliser le préfixe utilisé pour les codes-barres courts, peut être utile pour les environnements avec plusieurs instances InvenTree" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "Niveaux" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "Prise en charge native de l'impression d'étiquettes au format PDF" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "Mode débogage" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "Activer le mode débogage - renvoie du HTML brut au lieu du PDF" @@ -6857,43 +6958,43 @@ msgstr "Sauter les étiquettes" msgid "Skip this number of labels when printing label sheets" msgstr "Sauter ce nombre d'étiquettes lors de l'impression de feuilles d'étiquettes" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "Frontière" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "Imprimer une bordure autour de chaque étiquette" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "Paysage" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "Imprimer la feuille d'étiquettes en mode paysage" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "Marge de page" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "Marge autour de la page en mm" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "Imprimante de feuilles d'étiquettes InvenTree" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "Regroupement de plusieurs étiquettes sur une seule feuille" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "L'étiquette est trop grande pour la taille de la page" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "Aucune étiquette n'a été générée" @@ -7046,21 +7147,21 @@ msgstr "Extension" msgid "Method" msgstr "Méthode" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "Aucun auteur trouvé" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "Le plugin '{p}' n'est pas compatible avec la version actuelle d'InvenTree {v}" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "Le plugin nécessite au moins la version {v}" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "Le plugin nécessite au maximum la version {v}" @@ -7345,7 +7446,7 @@ msgstr "Filtres" 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:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "Fichier modèle" @@ -7357,56 +7458,56 @@ msgstr "Taille des pages pour les rapports PDF" msgid "Render report in landscape orientation" msgstr "Rendre le rapport en orientation paysage" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "Rapport généré à partir du modèle {self.name}" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "Erreur dans la génération du rapport" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "Largeur [mm]" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "Largeur de l'étiquette, spécifiée en mm" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "Hauteur [mm]" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "Hauteur de l'étiquette, spécifiée en mm" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "Erreur d'impression des étiquettes" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "Extrait " -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "Fichier d'extrait de rapport" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "Description du fichier d'extrait" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "Elément" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "Rapport sur le fichier d'actifs" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "Description du fichier d'actifs" @@ -7694,7 +7795,7 @@ msgstr "Icône par défaut pour tous les lieux qui n'ont pas d'icône (facultati msgid "Stock Location" msgstr "Emplacement du stock" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "Emplacement des stocks" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "Externe" @@ -8599,115 +8700,115 @@ msgstr "Supprimer" msgid "Permission to delete items" msgstr "Droit de supprimer des éléments" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "Bot" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "Interne" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "Invité" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "Langue" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "Langue préférée de l'utilisateur" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "Thème" -#: users/models.py:516 +#: users/models.py:520 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:521 +#: users/models.py:525 msgid "Widgets" msgstr "Raccourcis" -#: users/models.py:523 +#: users/models.py:527 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:530 +#: users/models.py:534 msgid "Display Name" msgstr "Nom d'affichage" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "Nom d'affichage choisi pour l'utilisateur" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "Localisation" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "Intitulé de l'emploi principal ou du poste" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "Message sur le statut de l'utilisateur" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "Informations sur la localisation de l'utilisateur" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "L'utilisateur utilise activement le système" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "Coordonnées préférées de l'utilisateur" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "Type d'utilisateur" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "De quel type d'utilisateur s'agit-il ?" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "Organisation" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "Organisation/affiliation principale de l'utilisateur" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "Groupe primaire" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "Groupe principal de l'utilisateur" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "Administrateur" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "Prise d'inventaire" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "Bons de commande" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "Ventes" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "Commandes de retour" diff --git a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po index 923594bc5c..02d318ffd7 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:14\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "" @@ -108,9 +108,9 @@ msgstr "הזן תאריך סיום" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "הפניה חייבת להתאים לדפוס הנדרש" msgid "Reference number is too large" msgstr "מספר האסמכתה גדול מדי" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "שמות כפולים אינם יכולים להתקיים תחת אותו אב" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "בחירה שגויה" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "שם" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "תיאור" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "תיאור (לא חובה)" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "נתיב" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "הערות סימון (אופציונלי)" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "נתוני ברקוד" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "נתוני ברקוד של צד שלישי" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "ברקוד Hash" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "Hash ייחודי של נתוני ברקוד" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "נמצא ברקוד קיים" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "שגיאת שרת" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "נרשמה שגיאה על ידי השרת." -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "המספר חייב להיות תקין" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "מטבע" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "בחר מטבע מהאפשרויות הזמינות" @@ -526,29 +526,29 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "מקור הבנייה" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "" msgid "Part" msgstr "רכיב" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "" @@ -646,16 +646,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "" @@ -663,15 +663,15 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "" @@ -682,52 +682,56 @@ msgstr "" msgid "Available" msgstr "" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "" msgid "Reference" msgstr "מקט" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "בחר רכיב לבנייה" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:291 -msgid "Destination Location" -msgstr "" - -#: build/models.py:296 -msgid "Select location where the completed items will be stored" +#: build/models.py:299 +msgid "External Build" msgstr "" #: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 +msgid "Destination Location" +msgstr "" + +#: build/models.py:310 +msgid "Select location where the completed items will be stored" +msgstr "" + +#: build/models.py:314 msgid "Build Quantity" msgstr "כמות בניה" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "" -#: build/models.py:350 +#: build/models.py:364 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "קישור חיצוני" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "" msgid "Quantity" msgstr "כמות" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "מספרים סידוריים" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "" -#: build/serializers.py:945 +#: build/serializers.py:946 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "" @@ -1429,544 +1441,544 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "משתמש" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "קישור" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "קובץ מצורף" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "קובץ חסר" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "חסר קישור חיצוני" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "בחר קובץ לצירוף" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "הערה" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "" @@ -1988,7 +2000,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "" @@ -2004,80 +2016,88 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "שם קובץ" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2188,8 +2208,8 @@ msgstr "" #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "" @@ -2417,8 +2437,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "" @@ -2431,8 +2451,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "" @@ -3546,8 +3558,8 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "" @@ -3591,7 +3603,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "" @@ -3701,8 +3713,8 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "" @@ -3730,7 +3742,7 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "" @@ -3782,8 +3794,8 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "" @@ -3818,7 +3830,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "" @@ -3854,15 +3866,15 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "" @@ -4186,101 +4198,105 @@ msgstr "" msgid "Config type" msgstr "" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "" -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1241 +#: order/models.py:1283 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1251 +#: order/models.py:1293 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "" -#: order/models.py:1595 +#: order/models.py:1637 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1847 +#: order/models.py:1924 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "נשלח" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2218 +#: order/models.py:2301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2735 +#: order/models.py:2818 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "" @@ -5142,24 +5174,24 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "" @@ -5191,7 +5223,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "" @@ -5200,8 +5232,8 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5316,7 +5348,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5357,7 +5389,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "" @@ -5433,847 +5465,867 @@ msgstr "" msgid "Last Stocktake" msgstr "" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:537 +#: part/serializers.py:550 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -6857,43 +6958,43 @@ msgstr "" msgid "Skip this number of labels when printing label sheets" msgstr "" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "" @@ -7046,21 +7147,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7345,7 +7446,7 @@ msgstr "" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "" @@ -7357,56 +7458,56 @@ msgstr "" msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "" @@ -7694,7 +7795,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "" @@ -8599,115 +8700,115 @@ msgstr "" msgid "Permission to delete items" msgstr "" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "" diff --git a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po index aa387752b1..8ce3e5aa55 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:14\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Language: hi_IN\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "" @@ -108,9 +108,9 @@ msgstr "तारीख दर्ज करें" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "" msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "" @@ -526,29 +526,29 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "" @@ -646,16 +646,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "" @@ -663,15 +663,15 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "" @@ -682,52 +682,56 @@ msgstr "" msgid "Available" msgstr "" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:291 -msgid "Destination Location" -msgstr "" - -#: build/models.py:296 -msgid "Select location where the completed items will be stored" +#: build/models.py:299 +msgid "External Build" msgstr "" #: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 +msgid "Destination Location" +msgstr "" + +#: build/models.py:310 +msgid "Select location where the completed items will be stored" +msgstr "" + +#: build/models.py:314 msgid "Build Quantity" msgstr "" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "" -#: build/models.py:350 +#: build/models.py:364 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "" -#: build/serializers.py:945 +#: build/serializers.py:946 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "" @@ -1429,544 +1441,544 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "" @@ -1988,7 +2000,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "" @@ -2004,80 +2016,88 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2188,8 +2208,8 @@ msgstr "" #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "" @@ -2417,8 +2437,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "" @@ -2431,8 +2451,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "" @@ -3546,8 +3558,8 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "" @@ -3591,7 +3603,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "" @@ -3701,8 +3713,8 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "" @@ -3730,7 +3742,7 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "" @@ -3782,8 +3794,8 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "" @@ -3818,7 +3830,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "" @@ -3854,15 +3866,15 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "" @@ -4186,101 +4198,105 @@ msgstr "" msgid "Config type" msgstr "" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "" -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1241 +#: order/models.py:1283 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1251 +#: order/models.py:1293 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "" -#: order/models.py:1595 +#: order/models.py:1637 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1847 +#: order/models.py:1924 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2218 +#: order/models.py:2301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2735 +#: order/models.py:2818 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "" @@ -5142,24 +5174,24 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "" @@ -5191,7 +5223,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "" @@ -5200,8 +5232,8 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5316,7 +5348,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5357,7 +5389,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "" @@ -5433,847 +5465,867 @@ msgstr "" msgid "Last Stocktake" msgstr "" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:537 +#: part/serializers.py:550 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -6857,43 +6958,43 @@ msgstr "" msgid "Skip this number of labels when printing label sheets" msgstr "" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "" @@ -7046,21 +7147,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7345,7 +7446,7 @@ msgstr "" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "" @@ -7357,56 +7458,56 @@ msgstr "" msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "" @@ -7694,7 +7795,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "" @@ -8599,115 +8700,115 @@ msgstr "" msgid "Permission to delete items" msgstr "" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "" diff --git a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po index a8ababa319..f36ee6e39b 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:14\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "{original} átváltása {unit}-ra sikertelen" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "Nem megfelelő mennyiség" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "A hiba részleteit megtalálod az admin panelen" @@ -108,9 +108,9 @@ msgstr "Dátum megadása" msgid "Invalid decimal value" msgstr "Érvénytelen decimális érték" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "Az azonosítónak egyeznie kell a mintával" msgid "Reference number is too large" msgstr "Azonosító szám túl nagy" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "Duplikált nevek nem lehetnek ugyanazon szülő alatt" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "Érvénytelen választás" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "Név" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "Leírás" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "Leírás (opcionális)" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "Elérési út" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "Markdown megjegyzések (opcionális)" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "Vonalkód adat" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "Harmadik féltől származó vonalkód adat" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "Vonalkód hash" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "Egyedi vonalkód hash" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "Létező vonalkód" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "Kiszolgálóhiba" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "A kiszolgáló egy hibaüzenetet rögzített." -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "Érvényes számnak kell lennie" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "Pénznem" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "Válassz pénznemet a lehetőségek közül" @@ -526,29 +526,29 @@ msgstr "Túlszállítás nem lehet több mint 100%" msgid "Invalid value for overage" msgstr "Érvénytelen érték a túlszállításra" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Rendelés állapota" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "Szülő gyártás" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "Változatokkal együtt" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "Változatokkal együtt" msgid "Part" msgstr "Alkatrész" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "Kategória" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "Szülő Gyártás" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "Hozzám rendelt" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Kiállította" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "Hozzárendelve" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "Ez előtt létrehozva" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "Fa kihagyása" @@ -646,16 +646,16 @@ msgstr "Fa kihagyása" msgid "Build must be cancelled before it can be deleted" msgstr "A gyártást be kell fejezni a törlés előtt" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "Fogyóeszköz" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "Opcionális" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "Gyártmány" @@ -663,15 +663,15 @@ msgstr "Gyártmány" msgid "Tracked" msgstr "Követett" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "Ellenőrizhető" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "Lefoglalva" @@ -682,52 +682,56 @@ msgstr "Lefoglalva" msgid "Available" msgstr "Elérhető" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 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/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "Gyártási utasítások" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "Az alkatrészjegyzék még nincs jóváhagyva" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "Nem lehet inaktív alkatrészre Gyártást kezdeményezni" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "Nem lehet lezáratlan alkatrészre Gyártást kezdeményezni" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "Hibás választás a szülő gyártásra" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "Meg kell adni felelős felhasználót vagy csoportot" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "Gyártási rendelés alkatrész nem változtatható" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "Gyártási utasítás azonosító" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "Gyártási utasítás azonosító" msgid "Reference" msgstr "Azonosító" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "Gyártás rövid leírása (opcionális)" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "Válassz alkatrészt a gyártáshoz" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "Vevői rendelés azonosító" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "Vevői rendelés amihez ez a gyártás hozzá van rendelve" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "Forrás hely" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Válassz helyet ahonnan készletet vegyünk el ehhez a gyártáshoz (hagyd üresen ha bárhonnan)" -#: build/models.py:291 +#: build/models.py:299 +msgid "External Build" +msgstr "" + +#: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 msgid "Destination Location" msgstr "Cél hely" -#: build/models.py:296 +#: build/models.py:310 msgid "Select location where the completed items will be stored" msgstr "Válassz helyet ahol a kész tételek tárolva lesznek" -#: build/models.py:300 +#: build/models.py:314 msgid "Build Quantity" msgstr "Gyártási mennyiség" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "Gyártandó készlet tételek száma" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "Kész tételek" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "Elkészült készlet tételek száma" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "Gyártási állapot" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "Gyártás státusz kód" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "Batch kód" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "Batch kód a gyártás kimenetéhez" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "Létrehozás dátuma" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "Befejezés cél dátuma" -#: build/models.py:350 +#: build/models.py:364 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:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "Befejezés dátuma" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "elkészítette" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "Indította" -#: build/models.py:373 +#: build/models.py:387 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:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Felelős" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "Felhasználó vagy csoport aki felelős ezért a gyártásért" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "Külső link" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Link külső URL-re" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "Priorítás" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "Gyártási utasítás priorítása" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Projektszám" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "Projekt kód a gyártáshoz" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "A gyártási foglalások teljesítése háttérfeladat elvégzése nem sikerült" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "A {build} gyártási utasítás elkészült" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "Gyártási utasítás elkészült" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "Egyedi követésre jelölt alkatrészeknél kötelező sorozatszámot megadni" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "Nincs gyártási kimenet megadva" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "Gyártási kimenet már kész" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "Gyártási kimenet nem egyezik a gyártási utasítással" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "A mennyiség nem lehet több mint a gyártási mennyiség" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "A {serial} gyártási kimenet nem felelt meg az összes kötelező teszten" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "Gyártási Rendelés Sor Tétel" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "Gyártás objektum" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,413 +961,413 @@ msgstr "Gyártás objektum" msgid "Quantity" msgstr "Mennyiség" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "Gyártáshoz szükséges mennyiség" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Gyártási tételnek meg kell adnia a gyártási kimenetet, mivel a fő darab egyedi követésre kötelezett" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "A lefoglalt mennyiség ({q}) nem lépheti túl a szabad készletet ({a})" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Készlet túlfoglalva" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "A készlet tétel nem egyezik az alkatrészjegyzékkel" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "Készlet tétel" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "Forrás készlet tétel" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "Készlet mennyiség amit foglaljunk a gyártáshoz" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "Beépítés ebbe" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "Cél készlet tétel" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "Gyártási Szint" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "Alkatrész neve" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "Projekt kód címke" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "Leszármazott Gyártások Létrehozása" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "Leszármazott Gyártások létrehozása automatikusan" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "Gyártás kimenet" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "Gyártási kimenet nem egyezik a szülő gyártással" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "Kimeneti alkatrész nem egyezik a gyártási utasításban lévő alkatrésszel" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "Ez a gyártási kimenet már elkészült" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "Ez a gyártási kimenet nincs teljesen lefoglalva" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "Add meg a mennyiséget a gyártás kimenetéhez" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "Egész számú mennyiség szükséges az egyedi követésre kötelezett alkatrészeknél" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Egész számú mennyiség szükséges, mivel az alkatrészjegyzék egyedi követésre kötelezett alkatrészeket tartalmaz" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "Sorozatszámok" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "Add meg a sorozatszámokat a gyártás kimenetéhez" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "Hely" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "Legyártott készlet helye" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "Sorozatszámok automatikus hozzárendelése" -#: build/serializers.py:407 +#: build/serializers.py:408 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:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "A következő sorozatszámok már léteznek vagy nem megfelelőek" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "A gyártási kimenetek listáját meg kell adni" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "Selejtezet gyártási kimenetek helye" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "Foglalások törlése" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "Selejtezett kimenetek foglalásainak felszabadítása" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "Selejtezés oka" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "A kész gyártási kimenetek helye" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "Hiányos foglalás elfogadása" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "Kimenetek befejezése akkor is ha a készlet nem\n" "lett teljesen lefoglalva" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "Lefoglalt készlet felhasználása" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "Az összes ehhez a gyártáshoz lefoglalt készlet felhasználása" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "Befejezetlen kimenetek törlése" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "A nem befejezett gyártási kimenetek törlése" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "Nem engedélyezett" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "Gyártásban fel lett használva" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "Foglalás felszabadítása a készre jelentés előtt" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "Túlfoglalt készlet" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Hogyan kezeljük az gyártáshoz rendelt egyéb készletet" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "Pár készlet tétel túl lett foglalva" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "Kiosztatlanok elfogadása" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Fogadd el hogy a készlet tételek nincsenek teljesen lefoglalva ehhez a gyártási utastáshoz" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "A szükséges készlet nem lett teljesen lefoglalva" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "Befejezetlenek elfogadása" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "Fogadd el hogy a szükséges számú gyártási kimenet nem lett elérve" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "Szükséges gyártási mennyiség nem lett elérve" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "A Gyártásnak nyitott leszármazott Gyártása van" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "A Gyártásnak folyamatban kell lennie" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "A gyártási utasítás befejezetlen kimeneteket tartalmaz" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "Gyártás sor" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "Gyártás kimenet" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "A gyártási kimenetnek ugyanarra a gyártásra kell mutatnia" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "Gyártás sor tétel" -#: build/serializers.py:945 +#: build/serializers.py:946 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:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "A tételnek kell legyen készlete" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Rendelkezésre álló mennyiség ({q}) túllépve" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "Gyártási kimenetet meg kell adni a követésre kötelezett alkatrészek lefoglalásához" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Gyártási kimenetet nem lehet megadni a követésre kötelezett alkatrészek lefoglalásához" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "A lefoglalandó tételeket meg kell adni" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Készlet hely ahonnan az alkatrészek származnak (hagyd üresen ha bárhonnan)" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "Hely kizárása" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "Készlet tételek kizárása erről a kiválasztott helyről" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "Felcserélhető készlet" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "A különböző helyeken lévő készlet egyenrangúan felhasználható" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "Készlet helyettesítés" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "Helyettesítő alkatrészek foglalásának engedélyezése" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "Opcionális tételek" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "Opcionális tételek lefoglalása a gyártáshoz" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "Nem sikerült az automatikus lefoglalás feladatot elindítani" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "Alkatrészjegyzék Hivatkozás" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "Alkatrészjegyzék Cikk Azonosító" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "Alkatrészjegyzék Alkatrész Név" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "Beszállítói alkatrész" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "Lefoglalt mennyiség" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "Gyártási Hivatkozás" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "Alkatrész kategória Neve" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "Követésre kötelezett" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "Örökölt" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "Változatok" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "Alkatrészjegyzék tétel" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "Lefoglalt készlet" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "Rendelve" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "Gyártásban" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "Külső raktárkészlet" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "Elérhető készlet" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "Elérhető Helyettesítő Készlet" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "Elérhető Készlet Változatokból" @@ -1430,544 +1442,544 @@ msgstr "Hiányzó érvényes valuta kód" msgid "No plugin" msgstr "Nincsen plugin" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "Frissítve" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "Legutóbbi frissítés időpontja" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "Egyedi projektszám" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "Projekt leírása" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "A projektért felelős felhasználó vagy csoport" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "Beállítás értéke" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "A kiválasztott érték nem egy érvényes lehetőség" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "Az érték bináris kell legyen" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "Az érték egész szám kell legyen" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "Kulcs string egyedi kell legyen" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "Felhasználó" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "Ársáv mennyiség" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "Ár" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "Egységár egy meghatározott mennyiség esetén" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "Végpont" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "Végpont ahol ez a webhook érkezik" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "Webhook neve" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Aktív" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "Aktív-e ez a webhook" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "Token" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "Token a hozzáféréshez" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "Titok" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "Megosztott titok a HMAC-hoz" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "Üzenet azonosító" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "Egyedi azonosító ehhez az üzenethez" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "Kiszolgáló" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "Kiszolgáló ahonnan ez az üzenet érkezett" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "Fejléc" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "Üzenet fejléce" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "Törzs" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "Üzenet törzse" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "Végpont amin ez az üzenet érkezett" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "Dolgozott rajta" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "Befejeződött a munka ezzel az üzenettel?" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "Azonosító" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "Cím" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Link" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "Közzétéve" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "Szerző" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "Összefoglaló" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "Elolvasva" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "Elolvasva?" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "Kép" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "Képfájl" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "A képhez tartozó model típus" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "A képhez tartozó model azonosító" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "Egyedi mértékegység" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "A mértékegység szimbólumának egyedinek kell lennie" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "A mértékegységnek valós azonosítónak kell lennie" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "Egység neve" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "Szimbólum" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "Opcionális mértékegység szimbólum" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "Definíció" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "Mértékegység definíció" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "Melléklet" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "Hiányzó fájl" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "Hiányzó külső link" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "Válaszd ki a mellekelni kívánt fájlt" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "Megjegyzés" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "Melléklet megjegyzés" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "Feltöltés dátuma" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "A fájl feltöltésének dátuma" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "Fájl mérete" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "Fájlméret bájtban" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "A melléklet model típusa érvénytelen" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "Egyedi Állapot" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "Egyedi Állapotok" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "Hivatkozott Állapot Készlet" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "Az az Állapot készlet, melyet ez az egyedi állapot kibővít" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "Logikai kulcs" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "Az állapot logikai kulcsa amely megegyezik az üzleti logika egyedi állapotával" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "Érték" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "Az állapot neve" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "Címke" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "A felületen megjelenített címke" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "Szín" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "A felöleten megjelenő szín" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "Model" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "A Model amihez ez az állapot tartozik" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "Modelt választani kötelező" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "Kulcsot választani kötelező" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "Logikai kulcsot választani kötelező" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "A kulcs és a logikai kulcs nem lehet azonos" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "A kulcsnak eltérőnek kell lennie a hivatkozott állapotok logikai kulcsaitól" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "A logikai kulcsnak szerepelnie kell a hivatkozott állapotok logikai kulcsai közt" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "Lezárt" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "Forrás szöveg" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "Alapértelmezett bejegyzés" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "Létrehozva" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "Utoljára módosítva" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "Vonalkód beolvasás" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Adat" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "Vonalkód adat" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "Időbélyeg" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "Kontextus" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "Válasz" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "Eredmény" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "" @@ -1989,7 +2001,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:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "Készlet érkezett" @@ -2005,80 +2017,88 @@ msgstr "Készlet érkezett vissza egy visszavétel miatt" msgid "Error raised by plugin" msgstr "Plugin hiba" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "Folyamatban" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "Folyamatban lévő feladatok" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "Ütemezett Feladatok" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "Hibás feladatok" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "Feladat ID" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "Egyedi feladat ID" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "Zárol" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "Zárolási idő" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "Feladat neve" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "Funkció" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "Funkció neve" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "Paraméterek" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "Feladat paraméterei" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "Kulcsszó paraméterek" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "Feladat kulcsszó paraméterek" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "Fájlnév" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "Modell típusa" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "A felhasználónak nincs joga létrehozni vagy módosítani ehhez a modelhez tartozó mellékleteket" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2189,8 +2209,8 @@ msgstr "Milyen gyakran frissítse az árfolyamokat (nulla a kikapcsoláshoz)" #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "nap" @@ -2418,8 +2438,8 @@ msgstr "Kategória paraméter sablonok másolása" msgid "Copy category parameter templates when creating a part" msgstr "Kategória paraméter sablonok másolása alkatrész létrehozásakor" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "Sablon" @@ -2432,8 +2452,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:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "Összetevő" @@ -2470,352 +2490,352 @@ msgid "Parts are virtual by default" msgstr "Alkatrészek alapból virtuálisak legyenek" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "Importálás megjelenítése a nézetekben" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "Import segéd megjelenítése néhány alkatrész nézetben" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "Kapcsolódó alkatrészek megjelenítése" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "Alkatrész kapcsolódó alkatrészeinek megjelenítése" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "Kezdeti készlet adatok" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "Kezdeti készlet létrehozása új alkatrész felvételekor" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "Kezdeti beszállítói adatok" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Kezdeti beszállítói adatok létrehozása új alkatrész felvételekor" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "Alkatrész név megjelenítés formátuma" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "Formátum az alkatrész név megjelenítéséhez" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "Alkatrész kategória alapértelmezett ikon" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "Alkatrész kategória alapértelmezett ikon (üres ha nincs)" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "Csak választható mértékegységek" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "A megadott mértékegység csak a beállított lehetőségekből legyen elfogadva" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "Áraknál használt tizedesjegyek min. száma" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Tizedejegyek minimális száma az árak megjelenítésekor" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "Áraknál használt tizedesjegyek max. száma" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Tizedejegyek maximális száma az árak megjelenítésekor" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "Beszállítói árazás használata" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Beszállítói ársávok megjelenítése az általános árkalkulációkban" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "Beszerzési előzmények felülbírálása" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Beszerzési árelőzmények felülírják a beszállítói ársávokat" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "Készlet tétel ár használata" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "A kézzel bevitt készlet tétel árak használata az árszámításokhoz" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "Készlet tétel ár kora" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Az ennyi napnál régebbi készlet tételek kizárása az árszámításból" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "Alkatrészváltozat árak használata" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "Alkatrészváltozat árak megjelenítése az általános árkalkulációkban" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "Csak az aktív változatokat" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "Csak az aktív alkatrészváltozatok használata az árazásban" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "Árazás újraszámítás gyakoriság" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "Árak automatikus frissítése ennyi nap után" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "Belső árak" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "Alkatrészekhez belső ár engedélyezése" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "Belső ár felülbírálása" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "Ha elérhetőek az árkalkulációkban a belső árak lesznek alapul véve" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "Címke nyomtatás engedélyezése" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "Címke nyomtatás engedélyezése a web felületről" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "Címke kép DPI" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Képek felbontása amik átadásra kerülnek címkenyomtató pluginoknak" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "Riportok engedélyezése" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "Riportok előállításának engedélyezése" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "Debug mód" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "Riportok előállítása HTML formátumban (hibakereséshez)" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "Jelentési hibák naplózása" -#: common/setting/system.py:633 +#: common/setting/system.py:627 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:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "Lapméret" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "Alapértelmezett lapméret a PDF riportokhoz" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "Globálisan egyedi sorozatszámok" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "A sorozatszámoknak egyedinek kell lennie a teljes készletre vonatkozóan" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "Sorozatszámok automatikus kitöltése" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "Sorozatszámok automatikus kitöltése a formokon" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "Kimerült készlet törlése" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "Alapértelmezett művelet mikor a készlet tétel elfogy" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "Batch kód sablon" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "Sablon a készlet tételekhez alapértelmezett batch kódok előállításához" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "Készlet lejárata" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "Készlet lejárat kezelésének engedélyezése" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "Lejárt készlet értékesítése" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "Lejárt készlet értékesítésének engedélyezése" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "Álló készlet ideje" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "Napok száma amennyivel a lejárat előtt a készlet tételeket állottnak vesszük" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "Lejárt készlet gyártása" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "Gyártás engedélyezése lejárt készletből" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "Készlet tulajdonosok kezelése" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "Tulajdonosok kezelésének engedélyezése a készlet helyekre és tételekre" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "Hely alapértelmezett ikon" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "Hely alapértelmezett ikon (üres ha nincs)" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "Beépített készlet megjelenítése" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "Beépített készlet tételek megjelenítése a készlet táblákban" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "Tételek telepítésekor a darabjegyzék ellenőrzése" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "A beépített tételeknek a szülő elem darabjegyzékében szerepelniük kell" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "Lehet Hiányzó Készletet Mozgatni" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Lehet-e olyan készleteket mozgatni készlethelyek között amik nincsenek raktáron" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "Gyártási utasítás azonosító minta" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "Szükséges minta a gyártási utasítás azonosító mező előállításához" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "Felelős tulajdonos szükséges" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "Minden rendeléshez felelőst kell rendelni" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "Szükséges Aktív Alkatrész" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "Inaktív alkatrészekre nem lehet Gyártási Rendelést létrehozni" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "Elvárás a Lezárt Alkatrész" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "Megakadályozza, hogy nem lezárt alkatrészekre gyártási rendelést lehessen indítani" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "Jóváhagyott Alkatrészjegyzék Kötelező" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "Megakadályozza gyártási rendelés készítését ha nincsen az Alkatrészjegyzék jóváhagyva" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "Leszármazott Gyártásoknak Lezártnak Kell Lennie" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "Amíg minden leszármazott gyártás le nincsen zárva nem lehet a szülő gyártást lezárni" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "Blokkolás a tesztek sikeres végrehajtásáig" @@ -3417,34 +3437,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "Alkatrész leltár információk megjelenítése (ha a leltár funkció engedélyezett)" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "Táblázati szöveg hossz" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "Maximális szöveg hossz ami megjelenhet a táblázatokban" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "Hibariportok fogadása" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "Értesítések fogadása a rendszerhibákról" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "Utoljára használt nyomtató gépek" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "Az utoljára használt nyomtató tárolása a felhasználóhoz" @@ -3502,7 +3514,7 @@ msgid "Supplier is Active" msgstr "A Beszállító Aktív" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "Gyártó" @@ -3547,8 +3559,8 @@ msgstr "Kapcsolattartó telefonszáma" msgid "Contact email address" msgstr "Kapcsolattartó email címe" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "Névjegy" @@ -3592,7 +3604,7 @@ msgstr "Gyárt ez a cég alkatrészeket?" msgid "Default currency used for this company" msgstr "Cég által használt alapértelmezett pénznem" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "Cím" @@ -3702,8 +3714,8 @@ msgstr "Válassz alkatrészt" msgid "Select manufacturer" msgstr "Gyártó kiválasztása" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "MPN (Gyártói cikkszám)" @@ -3731,7 +3743,7 @@ msgstr "Paraméter neve" msgid "Parameter value" msgstr "Paraméter értéke" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Mértékegység" @@ -3752,7 +3764,7 @@ 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:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3763,7 +3775,7 @@ msgstr "Beszállító" msgid "Select supplier" msgstr "Beszállító kiválasztása" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "Beszállítói cikkszám" @@ -3783,8 +3795,8 @@ msgstr "URL link a beszállítói alkatrészhez" msgid "Supplier part description" msgstr "Beszállítói alkatrész leírása" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3794,15 +3806,15 @@ msgstr "Beszállítói alkatrész leírása" msgid "Note" msgstr "Megjegyzés" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "alap költség" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimális díj (pl. tárolási díj)" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "Csomagolás" @@ -3819,7 +3831,7 @@ msgstr "Csomagolási mennyiség" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Egy csomagban kiszállítható mennyiség, hagyd üresen az egyedi tételeknél." -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "többszörös" @@ -3855,15 +3867,15 @@ msgstr "Beszállító által használt alapértelmezett pénznem" msgid "Company Name" msgstr "Cégnév" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "Készleten" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4099,7 +4111,7 @@ msgstr "Címkénkénti nyomtatandó mennyiség" msgid "Connected" msgstr "Csatlakoztatba" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "Ismeretlen" @@ -4187,101 +4199,105 @@ msgstr "Gép konfiguráció" msgid "Config type" msgstr "Konfiguráció típusa" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "Rendelés azonosítója" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "Kintlévő" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "Van projektszáma" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "Készítette" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "Van árazás" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "Befejezve ez után" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "Rendelés" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "A rendelés teljesítve" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "Belső alkatrész" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "A rendelés függőben" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "Kész" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Beszerzési rendelés" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4289,710 +4305,726 @@ msgstr "Beszerzési rendelés" msgid "Sales Order" msgstr "Vevői rendelés" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "Visszavétel" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "Teljes ár" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "A rendelés teljes ára" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "Rendelés pénzneme" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "Megrendeléshez használt pénznem (hagyd üresen a cégnél alapértelmezetthez)" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "A kapcsolattartó nem egyezik a kiválasztott céggel" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "Rendelés leírása (opcionális)" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "Válassz projektszámot ehhez a rendeléshez" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "Link külső weboldalra" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Cél dátum" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Várt teljesítési dátuma a megrendelésnek. Ezután már késésben lévőnek számít majd." -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "Kiállítás dátuma" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "Kiállítás dátuma" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "Felhasználó vagy csoport aki felelőse ennek a rendelésnek" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "Kapcsolattartó ehhez a rendeléshez" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "Cég címei ehhez a rendeléshez" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "Rendelés azonosító" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "Állapot" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "Beszerzési rendelés állapota" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "Cég akitől a tételek beszerzésre kerülnek" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "Beszállítói azonosító" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "Beszállítói rendelés azonosító kód" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "érkeztette" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "Rendelés teljesítési dátuma" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "Cél" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "" -#: order/models.py:711 +#: order/models.py:712 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:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "Mennyiség pozitív kell legyen" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Vevő" -#: order/models.py:1153 +#: order/models.py:1195 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:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "Értékesítési rendelés állapot" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "Vevői azonosító " -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "Megrendelés azonosító kódja a vevőnél" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "Kiszállítás dátuma" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "szállította" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "Rendelés már teljesítve" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "Rendelés már visszavonva" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "Csak nyitott rendelés jelölhető késznek" -#: order/models.py:1241 +#: order/models.py:1283 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:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1251 +#: order/models.py:1293 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:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "Tétel mennyiség" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "Sortétel azonosító" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "Sortétel megjegyzései" -#: order/models.py:1595 +#: order/models.py:1637 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:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "Sortétel leírása (opcionális)" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "További kontextus ehhez a sorhoz" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "Egységár" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "Vevői Rendelés Sortétel" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "Beszállítói alkatrésznek egyeznie kell a beszállítóval" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "Beszállítói alkatrész" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "Beérkezett" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "Érkezett tételek száma" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "Beszerzési ár" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "Beszerzési egységár" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "Vevői Rendelés Extra Sor" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "Vevői Rendelés Sortétel" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtuális alkatrészt nem lehet vevői rendeléshez adni" -#: order/models.py:1847 +#: order/models.py:1924 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:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "Eladási ár" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "Eladási egységár" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "Kiszállítva" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "Szállított mennyiség" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "Vevői Rendelés Szállítása" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "Szállítás dátuma" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "Szállítási dátum" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "Kézbesítés dátuma" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "Ellenőrizte" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "Felhasználó aki ellenőrizte ezt a szállítmányt" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Szállítmány" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "Szállítmány száma" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "Nyomkövetési szám" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "Szállítmány nyomkövetési információ" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "Számlaszám" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "Hozzátartozó számla referencia száma" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "Szállítmány már elküldve" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "Szállítmány nem tartalmaz foglalt készlet tételeket" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "Vevői Rendelés Extra Sor" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "Vevői rendeléshez foglalások" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "Készlet tétel nincs hozzárendelve" -#: order/models.py:2218 +#: order/models.py:2301 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:2221 +#: order/models.py:2304 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:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A lefoglalandó mennyiség nem haladhatja meg a készlet mennyiségét" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 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:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "Vevői rendelés nem egyezik a szállítmánnyal" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "Szállítmány nem egyezik a vevői rendeléssel" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "Sor" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "Vevői rendelés szállítmány azonosító" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "Tétel" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "Válaszd ki a foglalásra szánt készlet tételt" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "Visszavétel azonosító" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "Cég akitől a tételek visszavételre kerülnek" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "Visszavétel állapota" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "Visszavétel sortétel" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "Válaszd ki a vevőtől visszavenni kívánt tételt" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "Visszavétel dátuma" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "Mikor lett visszavéve a tétel" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "Kimenetel" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "Sortétel végső kimenetele" -#: order/models.py:2735 +#: order/models.py:2818 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:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "Visszavétel extra tétel" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "Rendelés azonosító" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "A duplikálandó megrendelés száma" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "Sorok másolása" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "Sortételek" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "Kész sorok" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "Beszállító neve" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "A rendelést nem lehet törölni" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "Rendelés lezárása teljesítetlen sortételek esetén is" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "A rendelésben teljesítetlen sortételek vannak" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "A rendelés nem nyitott" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "Automata árazás" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "Beszerzési ár automatikus számítása a beszállítói alkatrész adatai alapján" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "Beszérzési ár pénzneme" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "Elemek összevonása" -#: order/serializers.py:651 +#: order/serializers.py:658 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:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "SKU (leltári azonosító)" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "Belső cikkszám" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "Belső cikkszám" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "Beszállítói alkatrészt meg kell adni" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "Beszerzési rendelést meg kell adni" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "A beszállítónak egyeznie kell a beszerzési rendelésben lévővel" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "A beszerzési rendelésnek egyeznie kell a beszállítóval" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "Sortétel" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "Sortétel nem egyezik a beszerzési megrendeléssel" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "Válassz cél helyet a beérkezett tételeknek" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "Írd be a batch kódját a beérkezett tételeknek" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "Lejárati dátum" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "Írd be a sorozatszámokat a beérkezett tételekhez" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "Bejövő készlettételek csomagolási információjának felülbírálata" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "Kiegészítő megjegyzés beérkező készlettételekhez" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "Vonalkód" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "Beolvasott vonalkód" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "Ez a vonalkód már használva van" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "Egész számú mennyiség szükséges az egyedi követésre kötelezett alkatrészeknél" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "Sortételt meg kell adni" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "A cél helyet kötelező megadni" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "Megadott vonalkódoknak egyedieknek kel lenniük" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "Szállítások" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "Kész szállítmányok" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "Eladási ár pénzneme" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "Nincsenek szállítmány részletek megadva" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "Sortétel nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "Mennyiség pozitív kell legyen" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "Írd be a sorozatszámokat a kiosztáshoz" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "Szállítmány kiszállítva" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "Szállítmány nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "Nincs találat a következő sorozatszámokra" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "Visszavétel sortétel" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "Sortétel nem egyezik a visszavétellel" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "A sortétel már beérkezett" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "Csak folyamatban lévő megrendelés tételeit lehet bevételezni" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "Sortétel pénzneme" @@ -5143,24 +5175,24 @@ msgstr "Vannak Változatok" msgid "BOM Valid" msgstr "Alkatrészjegyzék ellenőrizve" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "Összeállított Alkatrész ellenőrizhető" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "Összetevő alkatrész ellenőrizhető" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "Használ" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Alkatrész kategória" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "Alkatrész kategóriák" @@ -5192,7 +5224,7 @@ msgstr "Ebben a kategóriában évő alkatrészek kulcsszavai alapban" msgid "Icon" msgstr "Ikon" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "Ikon (opcionális)" @@ -5201,8 +5233,8 @@ msgstr "Ikon (opcionális)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Nem lehet az alkatrészkategóriát szerkezeti kategóriává tenni, mert már vannak itt alkatrészek!" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "Alkatrészek" @@ -5317,7 +5349,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:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN (Belső Cikkszám)" @@ -5358,7 +5390,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:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "Minimális készlet" @@ -5434,847 +5466,867 @@ msgstr "Alkatrész felelőse" msgid "Last Stocktake" msgstr "Utolsó leltár" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "Több értékesítése" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "Árszámítások gyorstárazásához használt pénznem" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "Minimum alkatrészjegyzék költség" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "Összetevők minimum költsége" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "Maximum alkatrészjegyzék költség" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "Összetevők maximum költsége" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "Minimum beszerzési ár" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "Eddigi minimum beszerzési költség" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "Maximum beszerzési ár" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "Eddigi maximum beszerzési költség" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "Minimum belső ár" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "Minimum költség a belső ársávok alapján" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "Maximum belső ár" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "Maximum költség a belső ársávok alapján" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "Minimum beszállítói ár" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "Minimum alkatrész ár a beszállítóktól" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "Maximum beszállítói ár" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "Maximum alkatrész ár a beszállítóktól" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "Minimum alkatrészváltozat ár" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "Alkatrészváltozatok számolt minimum költsége" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "Maximum alkatrészváltozat ár" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "Alkatrészváltozatok számolt maximum költsége" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "Minimum költség" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "Minimum költség felülbírálása" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "Maximum költség" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "Maximum költség felülbírálása" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "Számított általános minimum költség" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "Számított általános maximum költség" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "Minimum eladási ár" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "Minimum eladási ár az ársávok alapján" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "Maximum eladási ár" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "Maximum eladási ár az ársávok alapján" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "Minimum eladási költség" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "Eddigi minimum eladási ár" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "Maximum eladási költség" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "Eddigi maximum eladási ár" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "Leltározható alkatrész" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "Tételszám" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "Egyedi készlet tételek száma a leltárkor" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "Teljes készlet a leltárkor" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Dátum" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "Leltározva ekkor" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "További megjegyzések" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "Leltározta" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "Minimum készlet érték" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "Becsült minimum raktárkészlet érték" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "Maximum készlet érték" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "Becsült maximum raktárkészlet érték" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "Riport" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "Leltár riport fájl (generált)" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "Alkatrész szám" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "Leltározott alkatrészek száma" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "Felhasználó aki a leltár riportot kérte" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "Alkatrész értékesítési ársáv" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "Alkatrész Teszt Sablon" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Hibás sablon név - legalább egy alfanumerikus karakter kötelező" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "A lehetőségek egyediek kell legyenek" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "Teszt sablont csak ellenőrizhetőre beállított alkatrészhez lehet csinálni" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "Már létezik ilyen azonosítójú Teszt sablon ehhez az alkatrészhez" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "Teszt név" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "Add meg a teszt nevét" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "Teszt azonosító" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "Egyszerűsített Teszt azonosító" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "Teszt leírása" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "Adj hozzá egy leírást ehhez a teszthez" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "Engedélyezve" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "Teszt engedélyezve?" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "Kötelező" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "Szükséges-e hogy ez a teszt sikeres legyen?" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "Kötelező érték" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "Szükséges-e hogy ennek a tesztnek az eredményéhez kötelezően érték legyen rendelve?" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "Kötelező melléklet" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "Szükséges-e hogy ennek a tesztnek az eredményéhez kötelezően fájl melléklet legyen rendelve?" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "Lehetőségek" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "Választható lehetőségek ehhez a Teszthez (vesszővel elválasztva)" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "Alkatrész Paraméter Sablon" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "Jelölőnégyzet paraméternek nem lehet mértékegysége" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "Jelölőnégyzet paraméternek nem lehetnek választási lehetőségei" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "A paraméter sablon nevének egyedinek kell lennie" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "Paraméter neve" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "Paraméter mértékegysége" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "Paraméter leírása" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "Jelölőnégyzet" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "Ez a paraméter egy jelölőnégyzet?" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "Választható lehetőségek (vesszővel elválasztva)" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "Alkatrész Paraméter" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "Lezárt alkatrész Paramétere nem szerkeszthető" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "Hibás választás a paraméterre" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "Szülő alkatrész" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "Paraméter sablon" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "Paraméter értéke" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "Alkatrészcsoport Paraméter Sablon" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "Alapértelmezett érték" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "Alapértelmezett paraméter érték" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "Alkatrészjegyzék nem szerkeszthető mert az összeállítás le van zárva" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "Alkatrészjegyzék nem szerkeszthető mert az összeállítás változat le van zárva" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "Szülő alkatrész kiválasztása" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "Al alkatrész" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "Ez az alkatrészjegyzék tétel opcionális" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Ez az alkatrészjegyzék tétel fogyóeszköz (készlete nincs követve a gyártásban)" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "Többlet" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Becsült gyártási veszteség (abszolút vagy százalékos)" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "Alkatrészjegyzék tétel azonosító" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "Alkatrészjegyzék tétel megjegyzései" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "Ellenőrző összeg" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "Alkatrészjegyzék sor ellenőrző összeg" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "Jóváhagyva" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "Ez a BOM tétel jóvá lett hagyva" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "Öröklődött" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Ezt az alkatrészjegyzék tételt az alkatrész változatok alkatrészjegyzékei is öröklik" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Alkatrészváltozatok készlet tételei használhatók ehhez az alkatrészjegyzék tételhez" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "A mennyiség egész szám kell legyen a követésre kötelezett alkatrészek esetén" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "Al alkatrészt kötelező megadni" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "Alkatrészjegyzék tétel helyettesítő" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "A helyettesítő alkatrész nem lehet ugyanaz mint a fő alkatrész" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "Szülő alkatrészjegyzék tétel" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "Helyettesítő alkatrész" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "1.rész" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "2.rész" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "Válassz kapcsolódó alkatrészt" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "Alkatrész kapcsolat nem hozható létre önmagával" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "Már létezik duplikált alkatrész kapcsolat" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "Szülő Kategória" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "Felsőbb szintű alkatrész kategória" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "Alkategóriák" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "Eredmények" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "Eszerint a sablon szerint rögzített eredmények száma" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "Beszerzési pénzneme ennek a készlet tételnek" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "Ennyi alkatrész használja ezt a sablont" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "Eredeti alkatrész" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "Válassz eredeti alkatrészt a másoláshoz" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "Kép másolása" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "Kép másolása az eredeti alkatrészről" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "Alkatrészjegyzék másolása" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "Alkatrészjegyzék másolása az eredeti alkatrészről" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "Paraméterek másolása" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "Paraméterek másolása az eredeti alkatrészről" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "Megjegyzések másolása" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "Megjegyzések másolása az eredeti alkatrészről" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "Kezdeti készlet mennyiség" -#: part/serializers.py:537 +#: part/serializers.py:550 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:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "Kezdeti készlet hely" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "Add meg a kezdeti készlet helyét" -#: part/serializers.py:562 +#: part/serializers.py:575 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:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "Válassz gyártót (hagyd üresen ha nem kell létrehozni)" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "Gyártói cikkszám" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "A kiválasztott cég nem érvényes beszállító" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "A kiválasztott cég nem érvényes gyártó" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "Van már ilyen gyártói alkatrész" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "Van már ilyen beszállítói alkatrész" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "Kategória neve" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "Gyártásban" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" +msgstr "" + +#: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 msgid "Stock Items" msgstr "Készlet tételek" -#: part/serializers.py:955 +#: part/serializers.py:983 msgid "Revisions" msgstr "Verziók" -#: part/serializers.py:958 +#: part/serializers.py:987 msgid "Suppliers" msgstr "Beszállítók" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Teljes készlet" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "Nem lefoglalt készlet" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "Variánsok Raktárkészlet" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "Alkatrész másolása" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "Kezdeti adatok másolása egy másik alkatrészről" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "Kezdeti készlet" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "Kezdeti készlet mennyiség létrehozása" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "Beszállító információ" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "Kezdeti beszállító adatok hozzáadása" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "Kategória paraméterek másolása" -#: part/serializers.py:1030 +#: part/serializers.py:1064 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:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "Meglévő kép" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "A meglévő alkatrész képfájl neve" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "A képfájl nem létezik" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Leltár riport korlátozása bizonyos alkatrészre és variánsra" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Leltár riport korlátozása bizonyos alkatrész kategóriára és az alatta lévőkre" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Leltár riport korlátozása bizonyos készlethelyre és az alatta lévőkre" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "Külső készlet nélkül" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "Külső helyeken lévő készlet nélkül" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "Riport létrehozása" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "Riport fájl létrehozása a számított leltár adatokkal" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "Alaktrészek frissítése" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "Megadott alkatrészek frissítése a számított leltár adatokkal" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "Leltár funkció nincs engedélyezve" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "Háttér folyamat ellenőrzés sikertelen" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "Minimum ár" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "Számított minimum ár felülbírálása" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "Minimum ár pénzneme" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "Maximum ár" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "Számított maximum ár felülbírálása" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "Maximum ár pénzneme" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "Frissítés" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "Alkatrész árak frissítése" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, 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:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "A Minimum ár nem lehet nagyobb mint a Maximum ár" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "A Maximum ár nem lehet kisebb mint a Minimum ár" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "Szülő összeállítás kiválasztása" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "Összetevő alkatrész kijelölése" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "Gyártható" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "Válassz alkatrészt ahonnan az alkatrészjegyzéket másoljuk" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "Létező adat törlése" -#: part/serializers.py:1934 +#: part/serializers.py:1971 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:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "Örököltekkel együtt" -#: part/serializers.py:1940 +#: part/serializers.py:1977 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:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "Hibás sorok kihagyása" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "Engedély a hibás sorok kihagyására" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "Helyettesítő alkatrészek másolása" -#: part/serializers.py:1952 +#: part/serializers.py:1989 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" @@ -6585,6 +6637,7 @@ msgid "Provides native support for barcodes" msgstr "Alapvető vonalkód támogatást ad" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6593,7 +6646,7 @@ msgstr "Alapvető vonalkód támogatást ad" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6623,6 +6676,54 @@ msgstr "Rövid Vonalkód Előtag" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "A rövid vonalkódok előtagjának beállítása hasznos lehet, ha több InvenTree példányt is használnak egy környezetben" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6821,12 +6922,12 @@ msgid "Provides native support for printing PDF labels" msgstr "PDF címkék nyomtatásához beépített támogatás" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "Debug mód" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "Debug mód engedélyezése - nyers HTML-t ad vissza PDF helyett" @@ -6858,43 +6959,43 @@ msgstr "Címkék kihagyása" msgid "Skip this number of labels when printing label sheets" msgstr "Hagyjon ki ennyi számú címkét a címke ívek nyomtatásakor" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "Szegély" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "Az egyes címkék körüli margó" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "Fekvő" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "Fekvő módban nyomtatás" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "Inventree Címke Ív Nyomtató" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "Több címke egy ívre helyezése" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "Címke túl nagy a lapmérethez képest" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "Nem készült címke" @@ -7047,21 +7148,21 @@ msgstr "Bővítmény" msgid "Method" msgstr "Módszer" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "Nincs szerző" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "A '{p}' plugin nem kompatibilis az aktuális applikáció verzióval {v}" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "A pluginhoz minimum {v} verzió kell" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "A pluginhoz maximum {v} verzió kell" @@ -7346,7 +7447,7 @@ msgstr "Szűrők" 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:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "Sablon file" @@ -7358,56 +7459,56 @@ msgstr "Lapméret a PDF riportokhoz" msgid "Render report in landscape orientation" msgstr "Jelentés fekvő nézetben" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "Szélesség [mm]" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "Címke szélessége, mm-ben" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "Magasság [mm]" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "Címke magassága, mm-ben" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "Részlet" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "Riport részlet fájl" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "Részlet fájl leírása" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "Eszköz" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "Riport asset fájl" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "Asset fájl leírása" @@ -7695,7 +7796,7 @@ msgstr "Alapértelmezett ikon azokhoz a helyekhez, melyeknek nincs ikonja beáll msgid "Stock Location" msgstr "Készlet hely" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "Készlethelyek" @@ -7711,7 +7812,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "Külső" @@ -8600,115 +8701,115 @@ msgstr "Törlés" msgid "Permission to delete items" msgstr "Jogosultság tételek törléséhez" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "Adminisztrátor" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "Leltár" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "Beszerzési rendelések" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "Vevői rendelések" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "Visszavételek" diff --git a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po index c554202dd2..7ce70bf87d 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:14\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "Jumlah yang diberikan tidak valid" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "Detail terkait galat dapat dilihat di panel admin" @@ -108,9 +108,9 @@ msgstr "Masukkan tanggal" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "" msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "Pilihan tidak valid" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "Nama" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "Keterangan" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "Keterangan (opsional)" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "Direktori" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "Data Barcode" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "Data barcode pihak ketiga" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "Hash unik data barcode" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "Sudah ada barcode yang sama" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "Terjadi Kesalahan Server" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "Sebuah kesalahan telah dicatat oleh server." -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "Harus berupa angka yang valid" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "Mata Uang" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "" @@ -526,29 +526,29 @@ msgstr "Kelebihan tidak boleh melebihi 100%" msgid "Invalid value for overage" msgstr "Nilai kelebihan tidak valid" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "Produksi Induk" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "" msgid "Part" msgstr "Bagian" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "" @@ -646,16 +646,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Pesanan harus dibatalkan sebelum dapat dihapus" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "" @@ -663,15 +663,15 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "" @@ -682,52 +682,56 @@ msgstr "" msgid "Available" msgstr "Tersedia" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Order Produksi" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "Order Produksi" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "Pilihan produksi induk tidak valid" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "Referensi Order Produksi" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "Referensi Order Produksi" msgid "Reference" msgstr "Referensi" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Produksi induk dari produksi ini" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "Pilih bagian untuk diproduksi" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "Referensi Order Penjualan" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "Order penjualan yang teralokasikan ke pesanan ini" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "Lokasi Sumber" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Pilih dari lokasi mana stok akan diambil untuk produksi ini (kosongkan untuk mengambil stok dari mana pun)" -#: build/models.py:291 +#: build/models.py:299 +msgid "External Build" +msgstr "" + +#: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 msgid "Destination Location" msgstr "Lokasi Tujuan" -#: build/models.py:296 +#: build/models.py:310 msgid "Select location where the completed items will be stored" msgstr "Pilih lokasi di mana item selesai akan disimpan" -#: build/models.py:300 +#: build/models.py:314 msgid "Build Quantity" msgstr "Jumlah Produksi" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "Jumlah item stok yang akan dibuat" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "Item selesai" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "Jumlah stok item yang telah diselesaikan" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "Status pembuatan" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "Kode status pembuatan" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "Kode Kelompok" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "Kode kelompok untuk hasil produksi ini" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "Tanggal Pembuatan" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "Target tanggal selesai" -#: build/models.py:350 +#: build/models.py:364 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:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "Tanggal selesai" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "diselesaikan oleh" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "Diserahkan oleh" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "Pengguna yang menyerahkan order ini" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Penanggung Jawab" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "Tautan eksternal" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Tautan menuju URL eksternal" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "Tidak ada hasil produksi yang ditentukan" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "Hasil produksi sudah selesai" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "Hasil produksi tidak sesuai dengan order produksi" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "Jumlah harus lebih besar daripada nol" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "" msgid "Quantity" msgstr "Jumlah" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Item produksi harus menentukan hasil produksi karena bagian utama telah ditandai sebagai dapat dilacak" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Item stok teralokasikan terlalu banyak" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Jumlah yang dialokasikan harus lebih dari nol" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "Jumlah harus 1 untuk stok dengan nomor seri" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "Stok Item" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "Sumber stok item" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "Jumlah stok yang dialokasikan ke produksi" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "Pasang ke" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "Tujuan stok item" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "Hasil Produksi" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "Hasil produksi tidak sesuai dengan produksi induk" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "Hasil bagian tidak sesuai dengan bagian dalam order produksi" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "Hasil produksi ini sudah diselesaikan" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "Hasil produksi tidak dialokasikan sepenuhnya" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "Masukkan jumlah hasil pesanan" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "Jumlah bagian yang dapat dilacak harus berupa angka bulat" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Jumlah harus angka bulat karena terdapat bagian yang dapat dilacak dalam daftar barang" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "Nomor Seri" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "Masukkan nomor seri untuk hasil pesanan" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "Lokasi" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "Alokasikan nomor seri secara otomatis" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" msgstr "Alokasikan item yang diperlukan dengan nomor seri yang sesuai secara otomatis" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "Nomor-nomor seri berikut sudah ada atau tidak valid" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "Daftar hasil pesanan harus disediakan" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "Lokasi hasil pesanan yang selesai" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "Terima Alokasi Tidak Lengkap" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "Tidak diizinkan" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "Terima Tidak Teralokasikan" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Terima bahwa stok item tidak teralokasikan sepenuhnya ke pesanan ini" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "Stok yang diperlukan belum teralokasikan sepenuhnya" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "Terima Tidak Selesai" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "Terima bahwa jumlah hasil produksi yang diperlukan belum selesai" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "Jumlah produksi yang diperlukan masih belum cukup" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "Order memiliki hasil produksi yang belum dilengkapi" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "Hasil produksi" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "Hasil pesanan harus mengarah ke pesanan yang sama" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "" -#: build/serializers.py:945 +#: build/serializers.py:946 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:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "Item harus tersedia dalam stok" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Jumlah tersedia ({q}) terlampaui" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "Hasil produksi harus ditentukan untuk mengalokasikan bagian yang terlacak" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Hasil produksi tidak dapat ditentukan untuk alokasi barang yang tidak terlacak" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "Item yang dialokasikan harus disediakan" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Lokasi stok, dari mana bahan/bagian akan diambilkan (kosongkan untuk mengambil dari lokasi mana pun)" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "Lokasi tidak termasuk" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "Jangan ambil stok item dari lokasi yang dipilih" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "Stok bergantian" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Item stok di beberapa lokasi dapat digunakan secara bergantian" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "Stok pengganti" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "Izinkan alokasi bagian pengganti" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "Item tagihan material" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "" @@ -1429,544 +1441,544 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "Pengguna" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "Harga" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Aktif" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "Judul" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Tautan" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "Kesimpulan" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "Berkas Gambar" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "Lampiran" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "File tidak ditemukan" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "Tautan eksternal tidak ditemukan" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "Pilih file untuk dilampirkan" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "Komentar" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "Ukuran Berkas" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "Label" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "Model" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "Terbuat" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "Respon" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "" @@ -1988,7 +2000,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "Barang diterima" @@ -2004,80 +2016,88 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "Nama File" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2188,8 +2208,8 @@ msgstr "" #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "Hari" @@ -2417,8 +2437,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "" @@ -2431,8 +2451,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "Komponen" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "Aktifkan Laporan" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "Ukuran Halaman" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "" @@ -3546,8 +3558,8 @@ msgstr "" msgid "Contact email address" msgstr "Kontak alamat surel" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "Kontak" @@ -3591,7 +3603,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "" @@ -3701,8 +3713,8 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "" @@ -3730,7 +3742,7 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "" @@ -3782,8 +3794,8 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "" @@ -3818,7 +3830,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "" @@ -3854,15 +3866,15 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "Tidak diketahui" @@ -4186,101 +4198,105 @@ msgstr "" msgid "Config type" msgstr "" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "Selesai" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "Total Harga" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "Status" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Pelanggan" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "" -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1241 +#: order/models.py:1283 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1251 +#: order/models.py:1293 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "" -#: order/models.py:1595 +#: order/models.py:1637 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1847 +#: order/models.py:1924 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "Harga Jual" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "Dikirim" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2218 +#: order/models.py:2301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2735 +#: order/models.py:2818 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "Order ID" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "Salin Baris" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "" @@ -5142,24 +5174,24 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "" @@ -5191,7 +5223,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "" @@ -5200,8 +5232,8 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5316,7 +5348,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5357,7 +5389,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "" @@ -5433,847 +5465,867 @@ msgstr "" msgid "Last Stocktake" msgstr "" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Tanggal" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "Lapor" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "Aktif" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "Pilihan" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:537 +#: part/serializers.py:550 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "Harga Minimal" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "Harga Maksimal" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "Perbarui" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -6857,43 +6958,43 @@ msgstr "" msgid "Skip this number of labels when printing label sheets" msgstr "" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "" @@ -7046,21 +7147,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7345,7 +7446,7 @@ msgstr "" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "" @@ -7357,56 +7458,56 @@ msgstr "" msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "" @@ -7694,7 +7795,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "" @@ -8599,115 +8700,115 @@ msgstr "" msgid "Permission to delete items" msgstr "" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "Admin" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "" diff --git a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po index f7a75a857d..895a088ef7 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-24 13:19\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "Impossibile convertire {original} in {unit}" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "Quantità inserita non valida" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "I dettagli dell'errore possono essere trovati nel pannello di amministrazione" @@ -108,9 +108,9 @@ msgstr "Inserisci la data" msgid "Invalid decimal value" msgstr "Valore decimale non valido" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "Il campo deve corrispondere al modello richiesto" msgid "Reference number is too large" msgstr "Numero di riferimento troppo grande" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "Nomi duplicati non possono esistere sotto lo stesso genitore" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "Scelta non valida" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "Nome" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "Descrizione" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "Descrizione (opzionale)" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "Percorso" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "Note di Markdown (opzionale)" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "Dati del Codice a Barre" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "Dati Codice a Barre applicazioni di terze parti" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "Codice a Barre" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "Codice univoco del codice a barre" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "Trovato codice a barre esistente" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "Fallimento Attività" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "Attività di lavoro in background '{f}' fallita dopo {n} tentativi" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "Errore del server" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "Un errore è stato loggato dal server." -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "Deve essere un numero valido" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "Selezionare la valuta dalle opzioni disponibili" @@ -526,29 +526,29 @@ msgstr "L'eccesso non deve superare il 100%" msgid "Invalid value for overage" msgstr "Valore non valido per eccedenza" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Stato dell'ordine" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "Produzione Genitore" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "Includi Varianti" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "Includi Varianti" msgid "Part" msgstr "Articolo" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "Categoria" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "Produzione Antenata" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "Assegnato a me" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Inviato da" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "Assegnato a" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "Creato prima" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "Creato dopo" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "Ha data d'inizio" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "Data d'inizio prima" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "Data d'inizio dopo" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "Ha data di fine" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "Data obiettivo prima" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "Data obiettivo dopo" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "Completato prima" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "Completato dopo" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "Data minima" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "Data massima" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "Escludi Albero" @@ -646,16 +646,16 @@ msgstr "Escludi Albero" msgid "Build must be cancelled before it can be deleted" msgstr "La produzione deve essere annullata prima di poter essere eliminata" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "Consumabile" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "Opzionale" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "Assemblaggio" @@ -663,15 +663,15 @@ msgstr "Assemblaggio" msgid "Tracked" msgstr "Monitorato" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "Testabile" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "Ordine In Corso" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "Allocato" @@ -682,52 +682,56 @@ msgstr "Allocato" msgid "Available" msgstr "Disponibile" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Ordine di Produzione" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "Ordini di Produzione" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "Assembly BOM non è stato convalidato" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "L'ordine di generazione non può essere creato per una parte inattiva" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "L'ordine di compilazione non può essere creato per una parte sbloccata" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "Scelta non valida per la produzione genitore" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "L'utente o il gruppo responsabile deve essere specificato" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "L'ordine di costruzione della parte non può essere cambiata" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "La data di scadenza deve essere successiva alla data d'inizio" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "Riferimento Ordine Di Produzione" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "Riferimento Ordine Di Produzione" msgid "Reference" msgstr "Riferimento" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "Breve descrizione della build (facoltativo)" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Ordine di produzione a cui questa produzione viene assegnata" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "Selezionare parte da produrre" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "Numero di riferimento ordine di vendita" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "Ordine di vendita a cui questa produzione viene assegnata" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "Posizione Di Origine" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Seleziona la posizione da cui prelevare la giacenza (lasciare vuoto per prelevare da qualsiasi posizione di magazzino)" -#: build/models.py:291 +#: build/models.py:299 +msgid "External Build" +msgstr "" + +#: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 msgid "Destination Location" msgstr "Posizione Della Destinazione" -#: build/models.py:296 +#: build/models.py:310 msgid "Select location where the completed items will be stored" msgstr "Seleziona il luogo in cui gli articoli completati saranno immagazzinati" -#: build/models.py:300 +#: build/models.py:314 msgid "Build Quantity" msgstr "Quantità Produzione" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "Numero di articoli da costruire" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "Articoli completati" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "Numero di articoli di magazzino che sono stati completati" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "Stato Produzione" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "Codice stato di produzione" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "Codice Lotto" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "Codice del lotto per questa produzione" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "Data di creazione" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "Data inizio produzione" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "Data d'inizio programmata per questo ordine di produzione" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "Data completamento obiettivo" -#: build/models.py:350 +#: build/models.py:364 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:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "Data di completamento" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "Completato da" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "Rilasciato da" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "Utente che ha emesso questo ordine di costruzione" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Responsabile" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "Utente o gruppo responsabile di questo ordine di produzione" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "Collegamento esterno" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Link a URL esterno" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "Priorità di produzione" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "Priorità di questo ordine di produzione" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Codice del progetto" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "Codice del progetto per questo ordine di produzione" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "Impossibile scaricare l'attività per completare le allocazioni di build" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "L'ordine di produzione {build} è stato completato" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "L'ordine di produzione è stato completato" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "Deve essere fornita un numero di serie per gli articoli rintracciabili" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "Nessun output di produzione specificato" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "La produzione è stata completata" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "L'output della produzione non corrisponde all'ordine di compilazione" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "La quantità non può essere maggiore della quantità in uscita" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "L'output della build {serial} non ha superato tutti i test richiesti" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "Elemento di Riga Ordine di Produzione" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "Crea oggetto" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "Crea oggetto" msgid "Quantity" msgstr "Quantità" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "Quantità richiesta per l'ordine di costruzione" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "L'elemento di compilazione deve specificare un output poiché la parte principale è contrassegnata come rintracciabile" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "La quantità assegnata ({q}) non deve essere maggiore della quantità disponibile ({a})" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "L'articolo in giacenza è sovrallocato" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "La quantità di assegnazione deve essere maggiore di zero" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "La quantità deve essere 1 per lo stock serializzato" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "L'articolo in stock selezionato non corrisponde alla voce nella BOM" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "Articoli in magazzino" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "Origine giacenza articolo" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "Quantità di magazzino da assegnare per la produzione" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "Installa in" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "Destinazione articolo in giacenza" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "Livello Produzione" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "Nome Articolo" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "Etichetta Codice Progetto" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "Crea Produzioni Figlie" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "Genera automaticamente ordini di produzione figli" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "Genera Output" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "L'output generato non corrisponde alla produzione principale" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "L'output non corrisponde alle parti dell'ordine di produzione" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "Questa produzione è stata già completata" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "Questo output non è stato completamente assegnato" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "Inserisci la quantità per l'output di compilazione" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "Quantità totale richiesta per articoli rintracciabili" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Quantità totale richiesta, poiché la fattura dei materiali contiene articoli rintracciabili" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "Codice Seriale" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "Inserisci i numeri di serie per gli output di compilazione (build option)" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "Posizione" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "Posizione dello stock per l'output della produzione" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "Numeri di Serie Assegnazione automatica" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" msgstr "Assegna automaticamente gli articoli richiesti con i numeri di serie corrispondenti" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "I seguenti numeri di serie sono già esistenti o non sono validi" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "Deve essere fornito un elenco dei risultati di produzione" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "Posizione dello stock per l'output di produzione rimosso" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "Scarta Assegnazioni" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "Scartare tutte le assegnazioni di magazzino per gli output rimossi" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "Motivo dell'eliminazione degli output di compilazione" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "Posizione per gli output di build completati" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "Accetta Assegnazione Incompleta" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "Completa l'output se le scorte non sono state interamente assegnate" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "Consuma Giacenze Allocate" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "Consuma tutte le scorte che sono già state assegnate a questa produzione" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "Rimuovi Output Incompleti" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "Elimina gli output di produzione che non sono stati completati" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "Non permesso" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "Accetta come consumato da questo ordine di produzione" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "Non assegnare prima di aver completato questo ordine di produzione" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "Giacenza in eccesso assegnata" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Come si desidera gestire gli elementi extra giacenza assegnati all'ordine di produzione" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "Alcuni articoli di magazzino sono stati assegnati in eccedenza" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "Accetta Non Assegnato" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Accetta che gli elementi in giacenza non sono stati completamente assegnati a questo ordine di produzione" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "La giacenza richiesta non è stata completamente assegnata" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "Accetta Incompleta" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "Accetta che il numero richiesto di output di produzione non sia stato completato" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "La quantità di produzione richiesta non è stata completata" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "L'ordine di costruzione ha ancora degli ordini di costruzione figli" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "L'ordine di costruzione deve essere in stato di produzione" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "L'ordine di produzione ha output incompleti" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "Linea di produzione" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "Genera Output" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "L'output di produzione deve puntare alla stessa produzione" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "Articolo linea di produzione" -#: build/serializers.py:945 +#: build/serializers.py:946 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:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "L'articolo deve essere disponibile" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantità disponibile ({q}) superata" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "L'output di produzione deve essere specificato per l'ubicazione delle parti tracciate" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "L'output di produzione non deve essere specificato per l'ubicazione delle parti non tracciate" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "Deve essere indicata l'allocazione dell'articolo" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Posizione dello stock in cui le parti devono prelevate (lasciare vuoto per prelevare da qualsiasi luogo)" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "Escludi Ubicazione" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "Escludi gli elementi stock da questa ubicazione selezionata" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "Scorte Intercambiabili" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Gli elementi in magazzino in più sedi possono essere utilizzati in modo intercambiabile" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "Sostituisci Giacenze" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "Consenti l'allocazione delle parti sostitutive" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "Articoli Opzionali" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "Assegna gli elementi opzionali della distinta base all'ordine di produzione" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "Impossibile avviare l'attività di auto-allocazione" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "Riferimento BOM" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "Identificativo dell'Articolo BOM" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "Nome Articolo BOM" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "Costruzione" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "Articolo Fornitore" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "Quantità assegnata" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "Riferimento Ordine Di Costruzione" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "Nome Categoria Articolo" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "Tracciabile" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "Ereditato" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "Consenti Le Varianti" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "Distinta base (Bom)" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "Scorte Assegnate" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "Ordinato" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "In Produzione" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "Scorte esterne" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "Disponibilità in magazzino" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "Disponibili scorte alternative" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "Disponibili varianti delle scorte" @@ -1429,544 +1441,544 @@ msgstr "Nessun codice valuta valido fornito" msgid "No plugin" msgstr "Nessun plugin" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "Aggiornato" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "Orario dell'ultimo aggiornamento" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "Codice unico del progetto" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "Descrizione del progetto" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "Utente o gruppo responsabile di questo progetto" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "Tasto impostazioni" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "Valore impostazioni" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "Il valore specificato non è un opzione valida" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "Il valore deve essere un valore booleano" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "Il valore deve essere un intero" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "Il valore deve essere un numero valido" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "Il valore non supera i controlli di convalida" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "La stringa chiave deve essere univoca" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "Utente" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "Quantità prezzo limite" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "Prezzo" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "Prezzo unitario in quantità specificata" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "Scadenza" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "Scadenza in cui questa notifica viene ricevuta" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "Nome per questa notifica" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Attivo" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "È questa notifica attiva" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "Token" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "Token per l'accesso" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "Segreto" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "Segreto condiviso per HMAC" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "ID Messaggio" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "Identificatore unico per questo messaggio" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "Host" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "Host da cui questo messaggio è stato ricevuto" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "Intestazione" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "Intestazione di questo messaggio" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "Contenuto" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "Contenuto di questo messaggio" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "Scadenza in cui questo messaggio è stato ricevuto" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "Lavorato il" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "Il lavoro su questo messaggio è terminato?" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "Id" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "Titolo" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Collegamento" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "Pubblicato" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "Autore" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "Riepilogo" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "Letto" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "Queste notizie sull'elemento sono state lette?" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "Immagine" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "File immagine" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "Tipo di modello di destinazione per questa immagine" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "ID modello di destinazione per questa immagine" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "Unità Personalizzata" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "Il simbolo dell'unità deve essere univoco" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "Il nome dell'unità deve essere un identificatore valido" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "Nome dell'unità" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "Simbolo" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "Simbolo unità opzionale" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "Definizione" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "Definizione unità" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "Allegato" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "File mancante" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "Link esterno mancante" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "Tipo modello" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "Tipo di modello di destinazione per l'immagine" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "Seleziona file da allegare" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "Commento" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "Commento allegato" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "Data caricamento" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "Data di caricamento del file" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "Dimensione file" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "Dimensioni file in byte" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "Tipo di modello specificato per l'allegato non valido" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "Stato Personalizzato" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "Stati Personalizzati" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "Imposta Stato Di Riferimento" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "Set di stato esteso con questo stato personalizzato" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "Chiave Logica" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "Chiave logica dello stato che è uguale a questo stato personalizzato nella logica commerciale" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "Valore" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "Valore numerico che verrà salvato nel database dei modelli" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "Nome dello Stato" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "Etichetta" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "Etichetta che verrà visualizzata nel frontend" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "Colore" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "Colore che verrà visualizzato nel frontend" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "Modello" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "Modello a cui questo stato è associato" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "Il modello deve essere selezionato" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "La chiave deve essere selezionata" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "La chiave logica deve essere selezionata" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "La chiave deve essere diversa dalla chiave logica" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "Deve essere fornita una classe di stato di riferimento valida" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "La chiave deve essere diversa dalle chiavi logiche dello stato di riferimento" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "La chiave logica deve essere nelle chiavi logiche dello stato di riferimento" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "Il nome deve essere diverso dai nomi dello stato di riferimento" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "Elenco Selezioni" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "Elenchi di Selezione" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "Nome dell'elenco di selezione" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "Descrizione della lista di selezione" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "Bloccato" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "Questa lista di selezione è bloccata?" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "Questo elenco di selezione può essere utilizzato?" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "Plugin Sorgente" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "Plugin che fornisce l'elenco di selezione" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "Stringa Sorgente" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "Stringa opzionale che identifica il sorgente usato per questa lista" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "Voce Predefinita" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "Voce predefinita per questo elenco di selezione" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "Creato" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "Data e ora in cui è stato creato l'elenco di selezione" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "Ultimo aggiornamento" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "Data e ora in cui l'elenco di selezione è stato aggiornato" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "Voce Lista Selezione" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "Voci Lista Selezione" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "Elenco di selezione a cui appartiene questa voce" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "Valore della voce della lista di selezione" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "Etichetta per la voce elenco di selezione" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "Descrizione della voce della lista di selezione" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "Questa voce della lista di selezione è attiva?" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "Scansione Codice A Barre" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Dati" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "Dati del Codice a Barre" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "Utente che ha scannerizzato il codice a barre" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "Data e ora" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "Data e ora della scansione del codice a barre" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "Endpoint URL che ha elaborato il codice a barre" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "Contesto" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "Dati contestuali per la scansione del codice a barre" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "Risposta" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "Dati di risposta dalla scansione del codice a barre" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "Risultato" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "La scansione del codice a barre è riuscita?" @@ -1988,7 +2000,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:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "Elemento ricevuto" @@ -2004,80 +2016,88 @@ msgstr "Gli articoli sono stati ricevuti contro un ordine di reso" msgid "Error raised by plugin" msgstr "Errore generato dal plugin" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "In Esecuzione" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "Attività in sospeso" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "Attività pianificate" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "Attività Fallite" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "ID Attività" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "ID attività univoco" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "Blocco" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "Tempo di blocco" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "Nome attività" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "Funzione" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "Nome della funzione" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "Argomenti" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "Argomenti attività" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "Argomenti Parole Chiave" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "Argomenti parole chiave attività" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "Nome del file" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "Tipo di modello" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "L'utente non ha il permesso di creare o modificare allegati per questo modello" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "Lista di selezione bloccata" @@ -2188,8 +2208,8 @@ msgstr "" #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "giorni" @@ -2417,8 +2437,8 @@ msgstr "Copia Template Parametri Categoria" msgid "Copy category parameter templates when creating a part" msgstr "Copia i modelli dei parametri categoria quando si crea un articolo" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "Modello" @@ -2431,8 +2451,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:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "Componente" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "Gli articoli sono virtuali per impostazione predefinita" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "Mostra l'importazione nelle viste" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "Mostra la procedura guidata di importazione in alcune viste articoli" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "Mostra articoli correlati" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "Visualizza parti correlate per ogni articolo" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "Dati iniziali dello stock" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "Consentire la creazione di uno stock iniziale quando si aggiunge una nuova parte" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "Dati iniziali del fornitore" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Consentire la creazione dei dati iniziali del fornitore quando si aggiunge una nuova parte" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "Formato di visualizzazione del nome articolo" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "Formato per visualizzare il nome dell'articolo" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "Icona predefinita Categoria Articolo" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "Icona predefinita Categoria Articolo (vuoto significa nessuna icona)" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "Usa Prezzi Fornitore" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Includere le discontinuità di prezzo del fornitore nei calcoli generali dei prezzi" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "Ignora la Cronologia Acquisti" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Cronologia dei prezzi dell'ordine di acquisto del fornitore superati con discontinuità di prezzo" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "Utilizzare i prezzi degli articoli in stock" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Utilizzare i prezzi dei dati di magazzino inseriti manualmente per il calcolo dei prezzi" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "Età dei prezzi degli articoli in stock" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Escludere dal calcolo dei prezzi gli articoli in giacenza più vecchi di questo numero di giorni" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "Utilizza Variazione di Prezzo" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "Includi la variante dei prezzi nei calcoli dei prezzi complessivi" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "Solo Varianti Attive" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "Utilizza solo articoli di varianti attive per calcolare i prezzi delle varianti" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "Numero di giorni prima che il prezzo dell'articolo venga aggiornato automaticamente" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "Prezzi interni" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "Abilita prezzi interni per gli articoli" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "Sovrascrivi Prezzo Interno" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "Se disponibile, i prezzi interni sostituiscono i calcoli della fascia di prezzo" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "Abilita stampa etichette" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "Abilita la stampa di etichette dall'interfaccia web" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "Etichetta Immagine DPI" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Risoluzione DPI quando si generano file di immagine da fornire ai plugin di stampa per etichette" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "Abilita Report di Stampa" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "Abilita generazione di report di stampa" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "Modalità Debug" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "Genera report in modalità debug (output HTML)" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "Dimensioni pagina" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "Dimensione predefinita della pagina per i report PDF" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "Seriali Unici Globali" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "I numeri di serie per gli articoli di magazzino devono essere univoci" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "Auto Riempimento Numeri Seriali" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "Auto riempimento numeri nel modulo" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "Elimina scorte esaurite" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "Modello Codice a Barre" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "Modello per la generazione di codici batch predefiniti per gli elementi stock" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "Scadenza giacenza" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "Abilita funzionalità di scadenza della giacenza" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "Vendi giacenza scaduta" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "Consenti la vendita di stock scaduti" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "Tempo di Scorta del Magazzino" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "Numero di giorni in cui gli articoli in magazzino sono considerati obsoleti prima della scadenza" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "Crea giacenza scaduta" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "Permetti produzione con stock scaduto" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "Controllo della proprietà della giacenza" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "Abilita il controllo della proprietà sulle posizioni e gli oggetti in giacenza" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "Icona Predefinita Ubicazione di Magazzino" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "Icona Predefinita Ubicazione di Magazzino (vuoto significa nessuna icona)" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "Modello Di Riferimento Ordine Di Produzione" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di produzione" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "Impedisci la creazione di ordini di costruzione per le parti sbloccate" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "Richiede un BOM valido" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "Previene la creazione di ordini di costruzione a meno che BOM non sia stato convalidato" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "Richiedi Ordini Dei Figli Chiusi" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "Impedisci il completamento dell'ordine di costruzione fino alla chiusura di tutti gli ordini figli" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "Blocca Fino Al Passaggio Dei Test" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "Visualizza le informazioni d'inventario dell'articolo (se la funzionalità d'inventario è abilitata)" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "Lunghezza Stringa Tabella" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "Limite massimo di lunghezza per le stringhe visualizzate nelle viste tabella" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "Mostra L'Ultimo Breadcrumb" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "Mostra la pagina corrente nel Breadcrumb" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "Ricevi segnalazioni di errore" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "Ricevi notifiche per errori di sistema" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "Ultime stampanti usate" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "Salva le ultime stampanti usate da un'utente" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "Il fornitore è attivo" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "Produttore" @@ -3546,8 +3558,8 @@ msgstr "Numero di telefono di contatto" msgid "Contact email address" msgstr "Indirizzo email" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "Contatto" @@ -3591,7 +3603,7 @@ msgstr "Questa azienda produce articoli?" msgid "Default currency used for this company" msgstr "Valuta predefinita utilizzata per questa azienda" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "Indirizzo" @@ -3701,8 +3713,8 @@ msgstr "Seleziona articolo" msgid "Select manufacturer" msgstr "Seleziona Produttore" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "Codice articolo produttore (MPN)" @@ -3730,7 +3742,7 @@ msgstr "Nome parametro" msgid "Parameter value" msgstr "Valore del parametro" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Unità" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "Fornitore" msgid "Select supplier" msgstr "Seleziona fornitore" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "Unità di giacenza magazzino fornitore" @@ -3782,8 +3794,8 @@ msgstr "URL dell'articolo del fornitore" msgid "Supplier part description" msgstr "Descrizione articolo fornitore" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "Descrizione articolo fornitore" msgid "Note" msgstr "Nota" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "costo base" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "Onere minimo (ad esempio tassa di stoccaggio)" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "Confezionamento" @@ -3818,7 +3830,7 @@ msgstr "Quantità Confezione" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "multiplo" @@ -3854,15 +3866,15 @@ msgstr "Valuta predefinita utilizzata per questo fornitore" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "In magazzino" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "Numero di copie da stampare per ogni etichetta" msgid "Connected" msgstr "Connesso" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "Sconosciuto" @@ -4186,101 +4198,105 @@ msgstr "Configurazione Macchina" msgid "Config type" msgstr "Tipo di configurazione" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "Riferimento ordine" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "In Sospeso" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "Ha il codice del progetto" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "Creato Da" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "Creato prima" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "Creato dopo" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "Ha data d'inizio" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "Data d'inizio prima" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "Data d'inizio dopo" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "Ha data di fine" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "Data obiettivo prima" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "Data obiettivo dopo" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "Prezzo Articolo" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "Completato prima" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "Completato dopo" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "Ordine" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "Articolo interno" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "Completato" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "Ha Spedizione" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Ordine D'Acquisto" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "Ordine D'Acquisto" msgid "Sales Order" msgstr "Ordini di Vendita" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "Restituisci ordine" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "Prezzo Totale" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "Prezzo totale dell'ordine" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "Il contatto non corrisponde all'azienda selezionata" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "Descrizione dell'ordine (opzionale)" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "Seleziona il codice del progetto per questo ordine" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "Collegamento a un sito web esterno" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Data scadenza" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Data prevista per la consegna dell'ordine. L'ordine scadrà dopo questa data." -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "Data di emissione" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "Data di emissione ordine" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "Utente o gruppo responsabile di questo ordine" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "Punto di contatto per questo ordine" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "Riferimento ordine" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "Stato" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "Stato ordine d'acquisto" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "Azienda da cui sono stati ordinati gli articoli" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "Riferimento fornitore" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "Codice di riferimento ordine fornitore" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "ricevuto da" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "Data ordine completato" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "Destinazione" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "Destinazione per gli elementi ricevuti" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "Il fornitore dell'articolo deve corrispondere al fornitore dell'ordine di produzione" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "La quantità deve essere un numero positivo" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Cliente" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "Azienda da cui sono stati ordinati gli elementi" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "Riferimento Cliente " -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "Codice di riferimento Ordine del Cliente" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "Data di spedizione" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "spedito da" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "Solo un ordine aperto può essere contrassegnato come completo" -#: order/models.py:1241 +#: order/models.py:1283 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:1246 +#: order/models.py:1288 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:1251 +#: order/models.py:1293 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:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "Quantità Elementi" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "Riferimento Linea Elemento" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "Note linea elemento" -#: order/models.py:1595 +#: order/models.py:1637 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:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "Contesto aggiuntivo per questa voce" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "Prezzo unitario" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "L'articolo del fornitore deve corrispondere al fornitore" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "Articolo Fornitore" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "Ricevuto" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "Numero di elementi ricevuti" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "Prezzo di Acquisto" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "Prezzo di acquisto unitario" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "Un articolo virtuale non può essere assegnato ad un ordine di vendita" -#: order/models.py:1847 +#: order/models.py:1924 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:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "Prezzo di Vendita" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "Prezzo unitario di vendita" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "Spedito" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "Quantità spedita" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "Data di spedizione" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "Verificato Da" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "Utente che ha controllato questa spedizione" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Spedizione" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "Numero di spedizione" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "Numero di monitoraggio" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "Informazioni di monitoraggio della spedizione" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "Numero Fattura" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "Numero di riferimento per la fattura associata" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "La spedizione è già stata spedita" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "La spedizione non ha articoli di stock assegnati" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "L'elemento di magazzino non è stato assegnato" -#: order/models.py:2218 +#: order/models.py:2301 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:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "Impossibile allocare stock a una riga senza un articolo" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantità di ripartizione non puo' superare la disponibilità della giacenza" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "La quantità deve essere 1 per l'elemento serializzato" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "L'ordine di vendita non corrisponde alla spedizione" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "La spedizione non corrisponde all'ordine di vendita" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "Linea" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "Riferimento della spedizione ordine di vendita" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "Elemento" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "Seleziona elemento stock da allocare" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "Inserisci la quantità assegnata alla giacenza" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "Seleziona l'elemento da restituire dal cliente" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "Data di ricezione" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "Risultati" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2735 +#: order/models.py:2818 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "ID Ordine" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "ID dell'ordine da duplicare" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "Copia Linee" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "Copia gli elementi di riga dall'ordine originale" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "Copia Linee Extra" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "Copia gli elementi di riga extra dall'ordine originale" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "Elementi Riga" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "Duplica Ordine" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "Specifica le opzioni per duplicare questo ordine" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "ID dell'ordine non corretto" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "Nome Fornitore" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "L'ordine non può essere cancellato" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "Consenti di chiudere l'ordine con elementi di riga incompleti" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "L'ordine ha elementi di riga incompleti" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "L'ordine non è aperto" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "Valuta prezzo d'acquisto" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "Numero Dell'articolo Interno" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "L'articolo del fornitore deve essere specificato" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "L'ordine di acquisto deve essere specificato" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "Il fornitore deve essere abbinato all'ordine d'acquisto" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "L'ordine di acquisto deve essere abbinato al fornitore" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "Elemento Riga" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "L'elemento di riga non corrisponde all'ordine di acquisto" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "Seleziona la posizione di destinazione per gli elementi ricevuti" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "Inserisci il codice univoco per gli articoli in arrivo" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "Data di Scadenza" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "Inserisci i numeri di serie per gli articoli stock in arrivo" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "Codice a Barre" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "Codice a barre scansionato" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "Il codice a barre è già in uso" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "Deve essere fornita una quantità intera per gli articoli rintracciabili" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "Gli elementi di linea devono essere forniti" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "La destinazione deve essere specificata" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "I valori dei codici a barre forniti devono essere univoci" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "Spedizioni" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "Spedizioni Completate" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "Valuta prezzo di vendita" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "Elementi Assegnati" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "Nessun dettaglio di spedizione fornito" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "L'elemento di riga non è associato a questo ordine" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "La quantità deve essere positiva" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "Inserisci i numeri di serie da assegnare" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "La spedizione è già stata spedita" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "La spedizione non è associata con questo ordine" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "Nessuna corrispondenza trovata per i seguenti numeri di serie" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "I seguenti numeri di serie non sono disponibili" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "" @@ -5142,24 +5174,24 @@ msgstr "Ha revisioni" msgid "BOM Valid" msgstr "BOM Valido" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "L'articolo assemblato è provabile" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "Il componente è provabile" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "Utilizzi" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Categoria Articoli" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "Categorie Articolo" @@ -5191,7 +5223,7 @@ msgstr "Parole chiave predefinite per gli articoli in questa categoria" msgid "Icon" msgstr "Icona" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "Icona (facoltativa)" @@ -5200,8 +5232,8 @@ msgstr "Icona (facoltativa)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Non puoi rendere principale questa categoria di articoli perché alcuni articoli sono già assegnati!" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "Articoli" @@ -5316,7 +5348,7 @@ msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" msgid "Part category" msgstr "Categoria articolo" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN - Numero di riferimento interno" @@ -5357,7 +5389,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:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "Scorta Minima" @@ -5433,847 +5465,867 @@ msgstr "Utente responsabile di questo articolo" msgid "Last Stocktake" msgstr "Ultimo Inventario" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "Vendita multipla" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "Valuta utilizzata per calcolare i prezzi" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "Costo Minimo Distinta Base" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "Costo minimo dei componenti dell'articolo" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "Costo Massimo Distinta Base" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "Costo massimo dei componenti dell'articolo" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "Importo Acquisto Minimo" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "Costo minimo di acquisto storico" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "Importo massimo acquisto" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "Costo massimo di acquisto storico" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "Prezzo Interno Minimo" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "Costo minimo basato su interruzioni di prezzo interne" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "Prezzo Interno Massimo" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "Costo massimo basato su interruzioni di prezzo interne" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "Prezzo Minimo Fornitore" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "Prezzo minimo articolo da fornitori esterni" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "Prezzo Massimo Fornitore" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "Prezzo massimo dell'articolo proveniente da fornitori esterni" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "Variazione di costo minimo" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "Costo minimo calcolato di variazione dell'articolo" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "Massima variazione di costo" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "Costo massimo calcolato di variazione dell'articolo" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "Costo Minimo" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "Sovrascrivi il costo minimo" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "Costo Massimo" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "Sovrascrivi il costo massimo" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "Costo minimo totale calcolato" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "Costo massimo totale calcolato" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "Prezzo Di Vendita Minimo" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "Prezzo minimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "Prezzo Di Vendita Massimo" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "Prezzo massimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "Prezzo storico minimo di vendita" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "Prezzo storico massimo di vendita" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "Articolo per l'inventario" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "Contatore Elemento" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "Numero di scorte individuali al momento dell'inventario" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "Totale delle scorte disponibili al momento dell'inventario" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Data" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "Data in cui è stato effettuato l'inventario" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "Note aggiuntive" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "Utente che ha eseguito questo inventario" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "Costo Minimo Scorta" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "Costo minimo stimato di magazzino a disposizione" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "Costo Massimo Scorte" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "Costo massimo stimato di magazzino a disposizione" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "Rapporto" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "File Report Inventario (generato internamente)" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "Conteggio Articolo" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "Numero di articoli oggetto d'inventario" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "Utente che ha richiesto questo report inventario" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "Aggiungi Prezzo Ribassato di Vendita dell'Articolo" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "Modello Prove Articolo" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Nome modello non valido - deve includere almeno un carattere alfanumerico" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "Le scelte devono essere uniche" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "Il modello di prova può essere creato solo per gli articoli testabili" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "Il modello di test con la stessa chiave esiste già per l'articolo" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "Nome Test" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "Inserisci un nome per la prova" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "Chiave Di Prova" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "Chiave semplificata per la prova" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "Descrizione Di Prova" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "Inserisci descrizione per questa prova" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "Abilitato" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "Richiesto" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "Questa prova è necessaria per passare?" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "Valore richiesto" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "Questa prova richiede un valore quando si aggiunge un risultato di prova?" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "Allegato Richiesto" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "Questa prova richiede un file allegato quando si aggiunge un risultato di prova?" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "Il nome del modello del parametro deve essere univoco" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "Nome Parametro" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "Descrizione del parametro" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "Articolo principale" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "Modello Parametro" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "Valore del Parametro" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "Valore Predefinito" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "Valore Parametro Predefinito" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "Seleziona articolo principale" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "Articolo subordinato" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "Seleziona l'articolo da utilizzare nella Distinta Base" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "Quantità Distinta Base per questo elemento Distinta Base" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "Questo elemento della Distinta Base è opzionale" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Questo elemento della Distinta Base è consumabile (non è tracciato negli ordini di produzione)" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "Eccedenza" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantità stimata scarti di produzione (assoluta o percentuale)" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "Riferimento Elemento Distinta Base" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "Note Elemento Distinta Base" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "Codice di controllo" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "Codice di controllo Distinta Base" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "Convalidato" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Questo elemento della Distinta Base viene ereditato dalle Distinte Base per gli articoli varianti" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Gli elementi in giacenza per gli articoli varianti possono essere utilizzati per questo elemento Distinta Base" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "La quantità deve essere un valore intero per gli articoli rintracciabili" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "L'articolo subordinato deve essere specificato" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "Elemento Distinta Base Sostituito" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "La parte sostituita non può essere la stessa dell'articolo principale" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "Elemento principale Distinta Base" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "Sostituisci l'Articolo" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "Articolo 1" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "Articolo 2" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "Seleziona Prodotto Relativo" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "Non si può creare una relazione tra l'articolo e sé stesso" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "La relazione duplicata esiste già" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "Sottocategorie" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "Valuta di acquisto di questo articolo in stock" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "Quantità Speculativa" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "ID Modello" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "Articolo Originale" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "Seleziona l'articolo originale da duplicare" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "Copia immagine" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "Copia immagine dall'articolo originale" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "Copia Distinta Base" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "Copia fattura dei materiali dall'articolo originale" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "Copia parametri" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "Copia i dati dei parametri dall'articolo originale" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "Quantità iniziale" -#: part/serializers.py:537 +#: part/serializers.py:550 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:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "Ubicazione Iniziale Magazzino" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "Specificare l'ubicazione iniziale del magazzino per questo Articolo" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "Seleziona il fornitore (o lascia vuoto per saltare)" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleziona il produttore (o lascia vuoto per saltare)" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "Codice articolo Produttore" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "L'azienda selezionata non è un fornitore valido" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "L'azienda selezionata non è un produttore valido" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "L'articolo del produttore che corrisponde a questo MPN esiste già" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "L'articolo del fornitore che corrisponde a questo SKU esiste già" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "Nome Categoria" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "In Costruzione" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "Articoli in magazzino" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "Articoli in magazzino" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "Fornitori" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Giacenze Totali" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "Duplica articolo" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "Copia i dati iniziali da un altro Articolo" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "Stock iniziale" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "Crea Articolo con quantità di scorta iniziale" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "Informazioni Fornitore" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "Aggiungi le informazioni iniziali del fornitore per questo articolo" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "Copia Parametri Categoria" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "Copia i parametri dai modelli della categoria articolo selezionata" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Limitare il report d'inventario ad un articolo particolare e a eventuali articoli varianti" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Limita il report d'inventario ad una particolare categoria articolo, e a eventuali categorie secondarie" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Limita il report d'inventario ad una particolare ubicazione di magazzino, e a eventuali ubicazioni secondarie" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "Genera Report" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "Genera file di report contenente dati di inventario calcolati" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "Aggiorna Articoli" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "Aggiorna gli articoli specificati con i dati calcolati di inventario" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "La funzione Inventario non è abilitata" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "Controllo in background non riuscito" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "Prezzo Minimo" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "Prezzo Massimo" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "Aggiorna" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "Aggiorna i prezzi per questo articolo" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "Puoi produrre" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "Seleziona l'articolo da cui copiare la distinta base" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "Rimuovi Dati Esistenti" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "Rimuovi elementi distinta base esistenti prima di copiare" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "Includi Ereditato" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "Includi gli elementi Distinta Base ereditati da prodotti template" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "Salta Righe Non Valide" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "Abilita questa opzione per saltare le righe non valide" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "Copia Articoli sostitutivi" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copia articoli sostitutivi quando duplichi gli elementi distinta base" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "Fornisce supporto nativo per codici a barre" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "Fornisce supporto nativo per codici a barre" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -6857,43 +6958,43 @@ msgstr "" msgid "Skip this number of labels when printing label sheets" msgstr "" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "" @@ -7046,21 +7147,21 @@ msgstr "" msgid "Method" msgstr "Metodo" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "Nessun autore trovato" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7345,7 +7446,7 @@ msgstr "Filtri" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "" @@ -7357,56 +7458,56 @@ msgstr "" msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "Larghezza [mm]" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "Larghezza dell'etichetta, specificata in mm" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "Altezza [mm]" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "Larghezza dell'etichetta, specificata in mm" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "Report file snippet" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "Descrizione file snippet" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "Risorsa" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "Report file risorsa" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "File risorsa descrizione" @@ -7694,7 +7795,7 @@ msgstr "" msgid "Stock Location" msgstr "Ubicazione magazzino" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "Posizioni magazzino" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "Esterno" @@ -8599,115 +8700,115 @@ msgstr "Elimina" msgid "Permission to delete items" msgstr "Autorizzazione ad eliminare gli elementi" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "Amministratore" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "Inventario" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "Ordine di acquisto" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "Ordini di Vendita" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "Ordini di reso" diff --git a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po index 63a8653730..043429ee71 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:14\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "{original}を{unit}に変換できませんでした。" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "数量コードが無効です" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "エラーの詳細は管理者パネルで確認できます" @@ -108,9 +108,9 @@ msgstr "日付を入力する" msgid "Invalid decimal value" msgstr "無効な10進数値" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "参照は必須パターンに一致する必要があります。" msgid "Reference number is too large" msgstr "参照番号が大きすぎる" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "同じ親に重複した名前は存在しません。" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "無効な選択です" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "お名前" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "説明" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "説明 (オプション)" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "パス" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "マークダウンメモ (オプション)" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "バーコード情報" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "サードパーティ製バーコードデータ" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "バーコードハッシュ" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "バーコードデータのユニークなハッシュ" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "既存のバーコードが見つかりました" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "タスクの失敗" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "バックグラウンドワーカータスク'{f}'が{n}回試行した後に失敗しました" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "サーバーエラー" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "サーバーによってエラーが記録されました。" -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "有効な数字でなければなりません" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "通貨" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "利用可能なオプションから通貨を選択してください" @@ -526,29 +526,29 @@ msgstr "超過分は100%を超えてはなりません" msgid "Invalid value for overage" msgstr "超過分の無効な値" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "注文ステータス" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "親ビルド" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "バリアントを含む" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "バリアントを含む" msgid "Part" msgstr "パーツ" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "カテゴリ" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "祖先ビルド" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "担当" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "発行者" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "割り当て" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "作成前" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "の後に作成されました。" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "開始日あり" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "開始日 前" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "開始日 後" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "目標期日あり" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "目標期日" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "以降の目標日" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "完成前" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "終了後" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "最小日付" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "最大日付" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "ツリーを除く" @@ -646,16 +646,16 @@ msgstr "ツリーを除く" msgid "Build must be cancelled before it can be deleted" msgstr "削除するには、ビルドをキャンセルする必要があります。" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "消耗品" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "オプション" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "アセンブリ" @@ -663,15 +663,15 @@ msgstr "アセンブリ" msgid "Tracked" msgstr "追跡" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "テスト可能" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "受注残高" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "割り当てられた" @@ -682,52 +682,56 @@ msgstr "割り当てられた" msgid "Available" msgstr "利用可能" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "組立注文" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "組立注文" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "アセンブリBOMが検証されていません" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "非アクティブな部品にビルドオーダーを作成できません。" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "ロックされていない部品にビルドオーダーを作成できません。" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "親ビルドの選択が無効" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "担当ユーザーまたはグループを指定する必要があります。" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "ビルドオーダー部品は変更できません" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "目標期日は開始日以降であること" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "ビルド・オーダー・リファレンス" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "ビルド・オーダー・リファレンス" msgid "Reference" msgstr "参照" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "建築の簡単な説明(任意)" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "このビルドが割り当てられる ビルドオーダー" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "製造する部品の選択" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "セールス・オーダー・リファレンス" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "このビルドが割り当てられる SalesOrder" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "ソース・ロケーション" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "このビルドで在庫を取得する場所を選択します(任意の在庫場所から取得する場合は空白のままにしてください)。" -#: build/models.py:291 +#: build/models.py:299 +msgid "External Build" +msgstr "" + +#: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 msgid "Destination Location" msgstr "目的地" -#: build/models.py:296 +#: build/models.py:310 msgid "Select location where the completed items will be stored" msgstr "完成したアイテムの保管場所を選択" -#: build/models.py:300 +#: build/models.py:314 msgid "Build Quantity" msgstr "数量" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "構築するストックアイテムの数" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "完成品" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "完了した在庫アイテムの数" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "組立状況" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "ビルドステータスコード" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "バッチコード" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "このビルド出力のバッチコード" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "作成日時" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "ビルド開始日" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "この注文の開始予定日" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "完成目標日" -#: build/models.py:350 +#: build/models.py:364 msgid "Target date for build completion. Build will be overdue after this date." msgstr "ビルド完了目標日。この日付を過ぎると、ビルドは期限切れになります。" -#: build/models.py:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "完了日" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "完了者" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "発行者" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "このビルドオーダーを発行したユーザー" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "責任" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "このビルドオーダーを担当するユーザーまたはグループ" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "外部リンク" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "外部 サイト へのリンク" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "組立優先度" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "建設順序の優先順位" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "プロジェクトコード" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "プロジェクトコード" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "ビルドの割り当てを完了するタスクのオフロードに失敗しました。" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "ビルドオーダー{build}が完了しました" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "建設発注が完了しました" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "追跡可能な部品については、シリアル番号の提示が必要です。" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "ビルド出力が指定されていません" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "ビルド出力はすでに完了しています" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "ビルド出力がビルド順序と一致しません" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "数量はゼロより大きくなければなりません" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "数量が出力数量を上回ることはできません" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "ビルド出力 {serial} は、必要なすべてのテストに合格していません。" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "ビルドオーダーラインアイテム" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "ビルドオブジェクト" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "ビルドオブジェクト" msgid "Quantity" msgstr "数量" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "注文数量" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "ビルド項目は、ビルド出力を指定する必要があります。" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "割当数量({q})は在庫可能数量({a})を超えてはなりません。" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "在庫が過剰配分" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "割当数量はゼロより大きくなければなりません" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "シリアル在庫の場合、数量は1でなければなりません。" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "選択された在庫品目が部品表に一致しません。" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "在庫商品" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "ソース在庫品" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "建設に割り当てる在庫量" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "インストール" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "仕向け地在庫品" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "ビルドレベル" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "部品名" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "プロジェクトコードラベル" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "チャイルドビルドの作成" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "子製造オーダーの自動生成" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "ビルド出力" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "ビルド出力が親ビルドと一致しません" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "出力部分が BuildOrder 部分と一致しません。" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "このビルド出力はすでに完了しています" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "このビルド出力は完全に割り当てられていません" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "ビルド出力の数量を入力" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "追跡可能な部品に必要な整数個数" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "部品表には追跡可能な部品が含まれるため、必要な数量は整数" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "シリアル番号" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "ビルド出力のためのシリアル番号の入力" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "場所" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "ビルド出力のストック位置" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "シリアル番号の自動割り当て" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" msgstr "シリアル番号が一致する必要なアイテムを自動的に割り当て" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "以下のシリアル番号は既に存在するか、無効です。" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "ビルド出力のリストを提供する必要があります。" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "スクラップされたアウトプットの在庫場所" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "廃棄割り当て" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "廃棄されたアウトプットに割り当てられた在庫の破棄" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "ビルドアウトプットを廃棄する理由" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "完成した建造物のアウトプットの場所" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "不完全割当の受入れ" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "在庫が完全に割り当てられていない場合は、出力を完了します。" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "割当在庫の消費" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "このビルドに割り当て済みのストックを消費します。" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "不完全な出力の削除" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "完了していないビルド出力を削除します。" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "不可" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "このビルド・オーダーで消費されるものとして受け入れます。" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "このビルドオーダーを完了する前に割り当てを解除します。" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "総合在庫" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "製造オーダーに割り当てられた余分な在庫品をどのように処理しますか?" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "一部の在庫品目は全体的に配分されています。" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "未割り当ての受け入れ" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "在庫アイテムがこのビルド・オーダーに完全に割り当てられていないことを受け入れます。" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "必要在庫の配分が完了していません" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "インコンプリートの受け入れ" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "必要な数のビルドアウトプットが完了していないことを受け入れます。" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "必要な構築数量が完了していません" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "ビルド・オーダーには未完成の子ビルド・オーダーがあります。" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "受注生産状態であること" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "ビルド・オーダーの出力が不完全" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "組立ライン" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "ビルド出力" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "ビルド出力は同じビルド" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "ビルドラインアイテム" -#: build/serializers.py:945 +#: build/serializers.py:946 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.partは、ビルドオーダーと同じパーツを指す必要があります。" -#: build/serializers.py:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "在庫があること" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "使用可能数量({q})を超過" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "追跡部品の割り当てには、ビルド出力を指定する必要があります。" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "追跡されていない部品の割り当てでは、ビルド出力を指定できません。" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "割り当て項目の提供" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "部品を調達する在庫場所(任意の場所から調達する場合は空白にしてください。)" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "場所を除く" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "この選択された場所から在庫商品を除外" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "交換可能ストック" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "複数の拠点にある在庫品を交換可能" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "代替ストック" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "代替部品の割り当て" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "オプション" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "オプションのBOMアイテムをビルドオーダーに割り当てます。" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "自動割り当てタスクの開始に失敗しました" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "BOMリファレンス" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "BOMパーツID" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "部品表 部品名" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "ビルド" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "サプライヤー" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "割当数量" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "ビルドリファレンス" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "部品分類名" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "追跡可能" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "継承" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "バリアントを許可" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "BOMアイテム" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "割当株式" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "注文中" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "生産中" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "外部在庫" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "在庫状況" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "利用可能な代替ストック" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "在庫状況" @@ -1429,544 +1441,544 @@ msgstr "有効な通貨コードはありません" msgid "No plugin" msgstr "プラグインなし" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "更新しました" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "最終更新のタイムスタンプ" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "独自のプロジェクトコード" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "プロジェクトの説明" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "このプロジェクトを担当するユーザーまたはグループ" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "設定キー" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "設定値" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "選択された値は有効なオプションではありません。" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "値はブール値でなければなりません。" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "値は整数値でなければなりません。" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "値は有効な数値でなければなりません。" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "値がバリデーション・チェックに合格しない" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "キー文字列は一意でなければなりません。" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "ユーザー" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "価格破壊数量" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "価格" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "指定数量での単価" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "エンドポイント" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "このウェブフックを受信するエンドポイント" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "このウェブフックの名前" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "有効" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "このウェブフックはアクティブですか" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "トークン" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "アクセス用トークン" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "シークレット" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "HMACの共有秘密" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "メッセージ ID:" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "このメッセージの一意な識別子" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "ホスト" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "このメッセージを受信したホスト" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "ヘッダー" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "このメッセージのヘッダー" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "本文" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "メッセージ本文" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "このメッセージを受信したエンドポイント" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "作業内容" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "このメッセージに関する作業は終わったのですか?" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "Id" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "タイトル" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "リンク" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "公開済み" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "投稿者" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "概要" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "既読" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "このニュースは読まれましたか?" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "画像" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "画像ファイル" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "この画像の対象モデルタイプ" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "この画像の対象モデルID" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "カスタムユニット" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "単位記号は一意でなければなりません。" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "ユニット名は有効な識別子でなければなりません。" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "ユニット名" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "シンボル" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "オプションの単位記号" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "定義" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "ユニットの定義" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "添付ファイル" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "ファイルがありません" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "外部リンクが見つかりません。" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "モデルタイプ" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "画像の対象モデルタイプ" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "添付ファイルを選択" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "コメント:" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "添付コメント" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "アップロード日" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "ファイルがアップロードされた日付" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "ファイルサイズ" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "ファイルサイズ(バイト" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "添付ファイルに指定されたモデルタイプが無効です" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "カスタムステート" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "カスタムステート" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "リファレンス・ステータス・セット" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "このカスタム状態で拡張されたステータスセット" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "論理キー" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "ビジネスロジックでこのカスタムステートに等しいステート論理キー" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "値" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "モデルのデータベースに保存される数値" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "都道府県名" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "ラベル" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "フロントエンドに表示されるラベル" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "色" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "フロントエンドに表示される色" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "モデル" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "この状態が関連するモデル" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "モデルを選択する必要があります" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "キーを選択する必要があります。" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "論理キーを選択する必要があります。" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "キーは論理キーと異なる必要があります。" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "有効な参照ステータスクラスが提供されなければならない" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "キーは、参照ステータスの論理キーとは異なる必要があります。" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "論理キーは、参照ステータスの論理キーに含まれていなければなりません。" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "リファレンス・ステータスの名前とは異なっていなければならない。" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "セレクションリスト" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "セレクション・リスト" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "選択リストの名前" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "選択リストの説明" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "ロック中" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "この選択リストはロックされていますか?" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "このセレクションリストは使えますか?" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "ソースプラグイン" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "選択リストを提供するプラグイン" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "ソースストリング" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "このリストに使用されているソースを示すオプションの文字列" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "デフォルトエントリー" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "この選択リストのデフォルト項目" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "作成日" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "選択リストが作成された日時" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "最終更新" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "選択リストが最後に更新された日時" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "セレクションリスト入力" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "セレクションリスト" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "このエントリーが属する選択リスト" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "選択リストエントリーの値" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "選択リスト項目のラベル" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "選択リスト項目の説明" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "この選択リストはアクティブですか?" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "バーコードスキャン" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "データ" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "バーコードデータ" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "バーコードをスキャンしたユーザー" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "タイムスタンプ" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "バーコードスキャンの日時" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "バーコードを処理したURLエンドポイント" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "コンテキスト" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "バーコードスキャンのコンテキストデータ" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "返答" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "バーコードスキャンによるレスポンスデータ" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "結果" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "バーコードスキャンは成功しましたか?" @@ -1988,7 +2000,7 @@ msgstr "{verbose_name} キャンセル" msgid "A order that is assigned to you was canceled" msgstr "あなたに割り当てられた注文がキャンセルされました。" -#: common/notifications.py:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "受領品目" @@ -2004,80 +2016,88 @@ msgstr "返品注文に反して商品が届いた場合" msgid "Error raised by plugin" msgstr "プラグインで発生したエラー" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "走行中" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "保留タスク" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "スケジュールされたタスク" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "失敗したタスク" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "タスクID" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "ユニークなタスクID" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "ロック" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "ロック時間" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "タスク名" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "関数" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "機能名" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "引数" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "タスク引数" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "キーワード論争" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "タスクキーワード引数" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "ファイル名" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "モデルタイプ" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "このモデルの添付ファイルを作成または編集する権限がありません。" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "選択リストがロックされています" @@ -2188,8 +2208,8 @@ msgstr "為替レートの更新頻度 (ゼロに設定すると無効になり #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "日" @@ -2417,8 +2437,8 @@ msgstr "カテゴリー・パラメーター・テンプレートのコピー" msgid "Copy category parameter templates when creating a part" msgstr "部品作成時のカテゴリー・パラメーター・テンプレートのコピー" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "テンプレート" @@ -2431,8 +2451,8 @@ msgstr "パーツはデフォルトのテンプレートです" msgid "Parts can be assembled from other components by default" msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "コンポーネント" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "パーツはデフォルトでバーチャル" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "ビューにインポートを表示" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "一部のパーツビューにインポートウィザードを表示" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "関連部品を表示" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "部品の関連部品を表示" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "初期在庫データ" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "新規部品追加時に初期在庫を作成可能" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "サプライヤー初期データ" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "新しい部品を追加する際に、最初のサプライヤーデータを作成できるようにします。" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "部品名表示形式" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "部品名の表示形式" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "パーツカテゴリー デフォルトアイコン" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "パートカテゴリのデフォルトアイコン(空はアイコンがないことを意味します)" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "パラメータ単位の強制" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "単位が指定されている場合、パラメータ値は指定された単位に一致する必要があります。" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "価格の最小桁数" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "価格データのレンダリング時に表示する最小小数点以下の桁数" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "価格の小数点以下の桁数" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "価格データのレンダリング時に表示する小数点以下の桁数の最大値" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "サプライヤー価格の利用" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "全体的な価格計算にサプライヤーの価格破壊を含めること" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "購入履歴の上書き" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "過去の発注価格がサプライヤーの価格変動を上書き" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "ストックアイテム価格を使用" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "手動入力された在庫データから価格計算を行います。" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "在庫商品の価格設定年齢" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "この日数より古い在庫品を価格計算から除外します。" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "バリアント価格を使用" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "全体的な価格計算にバリアント価格を含む" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "アクティブバリアントのみ" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "バリアント価格の計算には、アクティブなバリアントパーツのみを使用します。" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "価格の再構築間隔" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "部品価格が自動的に更新されるまでの日数" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "社内価格" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "部品の内部価格の有効化" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "内部価格オーバーライド" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "利用可能な場合、内部価格は価格帯の計算より優先されます。" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "ラベル印刷の有効化" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "ウェブインターフェースからラベル印刷を有効にします。" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "ラベル画像DPI" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "ラベル印刷プラグインに供給する画像ファイルを生成する際のDPI解像度" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "レポートの有効化" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "レポートの作成" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "デバッグモード" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "デバッグモードでのレポート生成(HTML出力)" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "ログレポートエラー" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "レポート生成時に発生するエラーのログ" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "ページサイズ" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "PDFレポートのデフォルトのページサイズ" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "世界的にユニークな連載" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "在庫品のシリアル番号はグローバルに一意でなければなりません。" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "シリアル番号を自動入力" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "フォームのシリアル番号自動入力" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "枯渇在庫の削除" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "ストックアイテムが枯渇した場合のデフォルトの動作を決定します。" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "バッチコードテンプレート" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "ストックアイテムのデフォルトバッチコード生成用テンプレート" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "有効期限" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "在庫期限切れ機能の有効化" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "期限切れ株式の売却" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "期限切れ株式の売却を許可" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "在庫切れ時間" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "在庫品が期限切れとみなされるまでの日数" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "賞味期限切れ在庫の処理" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "期限切れの在庫を使用した建物の建築を許可" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "株式所有権" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "ストックロケーションとアイテムの所有権管理" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "在庫場所 デフォルトアイコン" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "在庫場所のデフォルトアイコン(空はアイコンがないことを意味します。)" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "インストール済みストックアイテムの表示" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "ストックテーブルにインストールされたストックアイテムを表示" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "アイテム取り付けの際はBOMをチェック" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "親部品のBOMには、インストールされたストックアイテムが存在する必要があります。" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "在庫切れの転送を許可" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "在庫のないストックアイテムをストックロケーション間で移動可能" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "ビルド・オーダー参照パターン" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "Build Order参照フィールドの生成に必要なパターン" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "責任ある所有者を要求" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "各注文には、責任ある所有者を指定する必要があります。" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "アクティブパートが必要" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "非稼動部品の製造オーダー作成を防止" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "ロックされた部分を要求" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "ロックされていない部品の製造オーダー作成を防止" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "有効なBOMが必要" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "BOMが検証されない限り、製造オーダーが作成されないようにします。" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "クローズド・チャイルド・オーダー" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "すべてのチャイルドオーダーが終了するまで、ビルドオーダーの完了を防止します。" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "テストがパスするまでブロック" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "部品在庫情報の表示(在庫管理機能が有効な場合)" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "テーブル文字列の長さ" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "テーブルビューに表示される文字列の長さの上限" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "最後のパンくずを表示" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "現在のページをパンくずで表示" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "エラー・レポートの受信" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "システムエラーの通知を受信" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "最後の中古印刷機" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "ユーザーの最後に使用した印刷機を保存" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "サプライヤーの活動" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "製造元" @@ -3546,8 +3558,8 @@ msgstr "連絡先電話番号" msgid "Contact email address" msgstr "連絡先メールアドレス" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "お問い合わせ" @@ -3591,7 +3603,7 @@ msgstr "この会社は部品を製造しているのですか?" msgid "Default currency used for this company" msgstr "この会社で使用されるデフォルト通貨" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "住所" @@ -3701,8 +3713,8 @@ msgstr "部品を選択" msgid "Select manufacturer" msgstr "メーカー選択" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "MPN" @@ -3730,7 +3742,7 @@ msgstr "パラメータ名" msgid "Parameter value" msgstr "パラメータ値" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "単位" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "リンクされたメーカー部品は、同じベース部品を参照する必要があります。" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "仕入先" msgid "Select supplier" msgstr "サプライヤーを選択" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "サプライヤー在庫管理ユニット" @@ -3782,8 +3794,8 @@ msgstr "外部サプライヤー部品リンク用URL" msgid "Supplier part description" msgstr "サプライヤーの部品説明" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "サプライヤーの部品説明" msgid "Note" msgstr "備考" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "基本料金" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "ミニマムチャージ(例:仕入れ手数料)" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "パッケージング" @@ -3818,7 +3830,7 @@ msgstr "パック数量" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "1パックに供給される総量。単品の場合は空のままにしてください。" -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "複数" @@ -3854,15 +3866,15 @@ msgstr "このサプライヤーで使用されるデフォルト通貨" msgid "Company Name" msgstr "会社名" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "在庫あり" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "データのエクスポート中にエラーが発生しました" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "データエクスポートプラグインが不正なデータ形式を返しました" @@ -4098,7 +4110,7 @@ msgstr "各ラベルの印刷部数" msgid "Connected" msgstr "接続済み" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "不明" @@ -4186,101 +4198,105 @@ msgstr "マシン構成" msgid "Config type" msgstr "設定タイプ" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "注文参照" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "並外れた" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "プロジェクトコード" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "作成者" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "作成前" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "の後に作成されました。" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "開始日あり" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "開始日 前" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "開始日 後" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "目標期日あり" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "目標期日" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "以降の目標日" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "価格" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "完成前" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "終了後" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "注文" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "注文完了" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "内部パーツ" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "注文保留" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "完了" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "出荷あり" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "注文" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "注文" msgid "Sales Order" msgstr "セールスオーダー" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "リターンオーダー" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "合計金額" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "この注文の合計金額" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "注文通貨" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "この注文の通貨(会社のデフォルトを使用する場合は空白のままにしてください。)" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "この注文はロックされており、変更できません。" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "連絡先が選択した会社と一致しません" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "開始日は目標期日より前でなければなりません。" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "ご注文内容(任意)" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "この注文のプロジェクトコードを選択してください。" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "外部ページへのリンク" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "開始日" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "本注文の開始予定日" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "終了日に達したら" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "お届け予定日この期日を過ぎますと延滞となります。" -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "発行日" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "オーダー発行日" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "この注文を担当するユーザーまたはグループ" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "本注文に関する連絡先" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "本注文の会社住所" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "注文参照" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "ステータス" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "発注状況" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "注文元の会社" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "サプライヤー・リファレンス" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "サプライヤー注文参照コード" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "受信" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "注文完了日" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "目的地" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "入荷商品のお届け先" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "部品サプライヤーは、POサプライヤーと一致する必要があります。" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "数量は正の数でなければなりません。" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "顧客" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "販売先" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "販売注文状況" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "お客様リファレンス" -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "顧客注文参照コード" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "出荷日" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "出荷元" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "注文はすでに完了しています。" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "注文はすでにキャンセルされました" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "未完了の注文にのみ完了マークを付けることができます。" -#: order/models.py:1241 +#: order/models.py:1283 msgid "Order cannot be completed as there are incomplete shipments" msgstr "出荷に不備があるため、注文を完了できません。" -#: order/models.py:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "割り当てに不備があるため、注文を完了できません。" -#: order/models.py:1251 +#: order/models.py:1293 msgid "Order cannot be completed as there are incomplete line items" msgstr "不完全な項目があるため、注文を完了できません。" -#: order/models.py:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "注文はロックされ、変更できません。" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "品目数量" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "行項目参照" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "項目" -#: order/models.py:1595 +#: order/models.py:1637 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "この行項目の目標期日(注文の目標期日を使用する場合は空白のままにしてください。)" -#: order/models.py:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "行項目の説明(オプション)" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "この行の補足説明" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "単価" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "発注書項目" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "サプライヤーの部品はサプライヤーと一致しなければなりません。" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "サプライヤー" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "受信" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "受領品目数" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "購入金額" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "購入単価" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "発注書追加行" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "販売注文明細" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "仮想部品を販売注文に割り当てることはできません" -#: order/models.py:1847 +#: order/models.py:1924 msgid "Only salable parts can be assigned to a sales order" msgstr "販売可能な部品のみを販売オーダーに割り当てることができます。" -#: order/models.py:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "セール価格" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "販売単価" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "発送済み" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "出荷数量" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "販売注文の出荷" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "出荷日" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "配達日" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "貨物の引渡日" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "チェック済み" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "この貨物をチェックしたユーザー" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "発送" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "出荷番号" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "追跡番号" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "貨物追跡情報" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "請求書番号" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "関連する請求書の参照番号" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "発送済み" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "出荷品目に割り当てられた在庫がありません" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "セールスオーダー追加ライン" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "販売注文の割り当て" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "在庫アイテムが割り当てられていません" -#: order/models.py:2218 +#: order/models.py:2301 msgid "Cannot allocate stock item to a line with a different part" msgstr "在庫品を別部品のラインに割り当てることはできません。" -#: order/models.py:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "部品のないラインに在庫を割り当てることはできません。" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "割当数量が在庫数量を超えることはできません" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "シリアル化された在庫品の場合、数量は1でなければなりません。" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "販売注文と出荷が一致しません" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "出荷が販売注文と一致しません" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "ライン" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "販売注文の出荷参照" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "アイテム" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "割り当てるストックアイテムを選択" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "在庫割当数量の入力" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "リターンオーダー参照" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "返品元の会社" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "返品状況" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "返品注文項目" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "在庫品の指定が必要です。" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "返品数量が在庫数量を超える場合" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "返品数量はゼロより大きくなければなりません。" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "シリアル化されたストックアイテムの数量が無効です。" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "お客様から返品する商品を選択" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "受領日" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "この返品商品が届いた日付" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "転帰" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "この項目の成果" -#: order/models.py:2735 +#: order/models.py:2818 msgid "Cost associated with return or repair for this line item" msgstr "この品目の返品または修理に関連する費用" -#: order/models.py:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "リターンオーダー追加ライン" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "注文ID" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "複製する注文のID" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "コピーライン" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "元の注文から行項目をコピー" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "余分な行をコピー" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "元の注文から余分な項目をコピー" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "ラインアイテム" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "完成路線" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "重複した注文" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "この注文を複製するためのオプションを指定します。" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "無効なオーダーID" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "サプライヤー名" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "ご注文のキャンセルはできません。" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "未完了の行項目で注文を閉じることができます。" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "注文に不備がある場合" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "ご注文は受け付けておりません。" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "自動車価格" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "サプライヤーの部品データに基づいて購入価格を自動計算" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "購入価格通貨" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "アイテムのマージ" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "同じ品目、同じ仕向け地、同じ日付の品目を1つの品目に統合します。" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "SKU" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "内部部品番号" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "内部部品名" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "サプライヤー部品の指定が必要" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "注文書の指定が必要" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "サプライヤーは発注書と一致しなければなりません。" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "発注書はサプライヤーと一致している必要があります。" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "明細" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "品目が発注書と一致しません" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "受取商品の配送先選択" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "入荷在庫品のバッチコード入力" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "有効期限" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "入荷在庫の有効期限の入力" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "入荷した在庫品のシリアル番号の入力" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "入荷在庫品の包装情報の上書き" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "在庫品の入荷に関する注意事項" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "バーコード" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "スキャンされたバーコード" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "バーコードはすでに使用されています" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "追跡可能な部品については、整数の数量を提供する必要があります。" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "項目は必ずご記入ください。" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "デスティネーション・ロケーションを指定する必要があります。" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "バーコードの値は一意でなければなりません。" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "発送" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "完了した出荷" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "販売価格通貨" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "割当項目" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "出荷の詳細は記載されていません" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "ラインアイテムは、この注文に関連付けられていません。" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "数量は正数でなければなりません。" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "割り当てるシリアル番号を入力" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "出荷済み" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "この注文には出荷が関連付けられていません" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "以下のシリアル番号に該当するものは見つかりませんでした。" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "以下のシリアル番号はご利用いただけません。" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "返品注文項目" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "ラインアイテムが返品オーダーと一致しません" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "ラインアイテムはすでに受領済み" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "商品の受け取りは、進行中の注文に対してのみ可能です。" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "返品数量" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "ライン価格通貨" @@ -5142,24 +5174,24 @@ msgstr "改定あり" msgid "BOM Valid" msgstr "BOM有効" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "組み立て部分はテスト可能" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "コンポーネント部分はテスト可能" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "用途" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "パーツカテゴリ" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "パーツカテゴリ" @@ -5191,7 +5223,7 @@ msgstr "このカテゴリの部品のデフォルトキーワード" msgid "Icon" msgstr "アイコン" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "アイコン (オプション)" @@ -5200,8 +5232,8 @@ msgstr "アイコン (オプション)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "いくつかの部品がすでに割り当てられているため、この部品カテゴリを構造化することはできません!" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "パーツ" @@ -5316,7 +5348,7 @@ msgstr "検索結果での視認性を向上させる部分キーワード" msgid "Part category" msgstr "パーツカテゴリ" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "即時支払通知" @@ -5357,7 +5389,7 @@ msgstr "デフォルトの有効期限" msgid "Expiry time (in days) for stock items of this part" msgstr "この部品の在庫品の有効期限(日単位" -#: part/models.py:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "最小在庫" @@ -5433,847 +5465,867 @@ msgstr "この部分の責任者" msgid "Last Stocktake" msgstr "最後のストックテイク" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "複数販売" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "価格計算のキャッシュに使用される通貨" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "最小BOMコスト" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "構成部品の最低コスト" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "最大BOMコスト" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "構成部品の最大コスト" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "最低購入価格" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "過去の最低購入価額" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "最大購入費用" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "過去の最高購入価格" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "最低社内価格" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "社内価格ブレークに基づく最低コスト" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "社内最高価格" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "社内価格ブレークに基づく最大コスト" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "最低供給価格" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "外部サプライヤーからの部品の最低価格" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "サプライヤー最高価格" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "外部サプライヤーからの部品の最高価格" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "最小バリアントコスト" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "バリアントパーツの最小コストの計算" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "最大バリアントコスト" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "バリアント部品の最大コストの計算" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "最低料金" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "最低コストのオーバーライド" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "最大コスト" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "最大コストのオーバーライド" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "総合的な最小コストの計算" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "総合最大コストの計算" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "最低販売価格" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "価格破壊に基づく最低販売価格" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "最高販売価格" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "価格破壊に基づく最高販売価格" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "最低販売価格" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "過去の最低売却価格" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "最大販売価格" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "過去の最高売却価格" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "ストックテイク用部品" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "個数" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "棚卸時の個別在庫数" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "ストックテイク時の在庫可能量" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "日付" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "ストックテイク実施日" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "その他の注意事項" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "このストックテイクを実施したユーザー" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "最低在庫コスト" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "手元在庫の最低見積原価" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "最大在庫コスト" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "手元在庫の最大見積原価" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "レポート" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "ストックテイクレポートファイル(社内で作成)" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "部品数" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "ストックテーク対象部品数" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "このストックテイク・レポートを依頼したユーザー" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "パーツセール価格" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "部品試験テンプレート" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "無効なテンプレート名 - 英数字を1文字以上含む必要があります。" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "選択肢はユニークでなければなりません" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "テストテンプレートは、テスト可能な部分に対してのみ作成できます。" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "同じキーを持つテスト・テンプレートがパートに既に存在します。" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "試験名" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "テストの名前を入力します。" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "テストキー" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "テストの簡易キー" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "試験内容" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "このテストの説明を入力してください。" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "有効" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "このテストは有効ですか?" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "必須" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "このテストは合格するために必要ですか?" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "価値が必要" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "このテストは、テスト結果を追加する際に値を必要としますか?" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "アタッチメントが必要" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "この試験では、試験結果を追加する際にファイルの添付が必要ですか。" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "選択肢" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "このテストで有効な選択肢(カンマ区切り)" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "部品パラメータテンプレート" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "チェックボックスのパラメータに単位を指定することはできません。" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "チェックボックスパラメータに選択肢を持たせることはできません。" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "パラメータ・テンプレート名は一意でなければなりません。" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "パラメータ名" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "このパラメータの物理単位" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "パラメータの説明" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "チェックボックス" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "このパラメータはチェックボックスですか?" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "このパラメータの有効な選択肢(カンマ区切り)" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "このパラメータの選択リスト" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "部品パラメータ" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "パラメータは変更できません。" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "パラメータ値の選択が無効" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "親部分" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "パラメータテンプレート" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "パラメータ値" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "部品分類パラメータテンプレート" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "初期値" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "パラメータのデフォルト値" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "BOMアイテムは変更できません - アセンブリがロックされています。" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "BOM アイテムは変更できません - バリアントアセンブリがロックされています。" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "親部品を選択" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "サブパート" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "BOMで使用する部品を選択" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "このBOMアイテムのBOM数量" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "この部品表はオプションです。" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "このBOMアイテムは消耗品です。" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "超過分" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "推定建設廃棄物量(絶対値またはパーセンテージ)" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "BOMアイテムリファレンス" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "BOMアイテムノート" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "チェックサムi" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "BOMラインのチェックサム" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "検証済み" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "このBOMアイテムは検証済みです" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "継承" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "この BOM アイテムは、バリアントパーツの BOM に継承されます。" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "このBOMアイテムには、バリアントパーツのストックアイテムを使用できます。" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "数量は追跡可能な部品の場合、整数値でなければなりません。" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "サブパーツの指定が必要" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "BOMアイテム代替" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "代用部品はマスター部品と同じにすることはできません。" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "親BOMアイテム" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "代用部品" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "パート #1" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "パート #2" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "関連部品を選択" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "この関係について" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "部品とそれ自身との間に部品関係を作ることはできません。" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "重複する関係が既に存在します。" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "親カテゴリ" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "親部品カテゴリー" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "サブカテゴリ" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "結果" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "このテンプレートに対して記録された結果の数" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "この在庫商品の購入通貨" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "投機的数量" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "モデルID" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "ファイルが画像ではありません" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "このテンプレートを使用する部品の数" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "オリジナルパート" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "複製する元の部品を選択" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "コピー画像" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "元の部分から画像をコピー" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "コピーBOM" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "元の部品から部品表をコピー" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "コピーパラメータ" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "元の部品からパラメータデータをコピー" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "コピーノート" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "元のパートからメモをコピー" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "初期在庫量" -#: part/serializers.py:537 +#: part/serializers.py:550 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "この部品の初期在庫数量を指定します。数量が0の場合、在庫は追加されません。" -#: part/serializers.py:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "初期在庫場所" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "この部品の初期在庫場所を指定してください。" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "サプライヤーを選択してください。" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "メーカーを選択してください。" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "メーカー品番" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "選択された企業は有効なサプライヤーではありません。" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "選択された会社は有効な製造業者ではありません。" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "このMPNに一致するメーカー部品はすでに存在します。" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "このSKUに一致するサプライヤー部品は既に存在します。" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "カテゴリ名" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "建物" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" +msgstr "" + +#: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 msgid "Stock Items" msgstr "在庫商品" -#: part/serializers.py:955 +#: part/serializers.py:983 msgid "Revisions" msgstr "リビジョン" -#: part/serializers.py:958 +#: part/serializers.py:987 msgid "Suppliers" msgstr "仕入先" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "総在庫" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "未割当株式" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "バリアントストック" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "重複部分" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "別のパートから初期データをコピー" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "初期在庫" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "初期在庫数で部品を作成" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "サプライヤー情報" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "この部品の初期サプライヤー情報を追加します。" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "コピーカテゴリパラメータ" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "選択したパーツカテゴリーからパラメータテンプレートをコピー" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "既存イメージ" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "既存の部品画像のファイル名" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "画像ファイルが存在しません" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "ストックテイクレポートを特定の部品とバリアント部品に限定します。" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "ストックテイクレポートを特定の部品カテゴリーとその子カテゴリーに限定します。" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "ストックテイクレポートを特定のストックロケーションと子ロケーションに限定" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "外部在庫を除く" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "外部ロケーションの在庫品を除く" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "レポートを生成" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "計算されたストックテイクデータを含むレポートファイルの作成" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "更新部品" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "計算されたストックテイクデータで指定部品を更新" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "在庫管理機能が有効になっていません" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "バックグラウンドワーカーのチェックに失敗しました" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "最小価格" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "最低価格の計算値の上書き" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "最低価格通貨" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "最大価格" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "最高価格の計算値を上書き" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "最高価格通貨" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "更新" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "この部品の価格を更新" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "提供された通貨から{default_currency}に変換できませんでした。" -#: part/serializers.py:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "最低価格は最高価格を超えてはなりません。" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "最高価格は最低価格を下回ってはなりません。" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "親アセンブリを選択" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "構成部品の選択" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "ビルド" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "BOMをコピーする部品を選択します。" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "既存データの削除" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "コピー前に既存のBOMアイテムを削除" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "インクルード継承" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "テンプレート化された部品から継承されたBOM項目を含めます。" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "無効な行をスキップ" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "無効な行をスキップするには、このオプションを有効にします。" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "コピー代用部品" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "BOMアイテムの重複時に代替部品をコピー" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "バーコードのネイティブサポートを提供" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "バーコードのネイティブサポートを提供" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "短いバーコードプレフィックス" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "複数のInvenTreeインスタンスがある環境で便利です。" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "レベル" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "PDFラベルの印刷をネイティブでサポート" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "デバッグモード" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "デバッグモードを有効にする - PDFの代わりに生のHTMLを返します。" @@ -6857,43 +6958,43 @@ msgstr "ラベルをスキップ" msgid "Skip this number of labels when printing label sheets" msgstr "ラベルシートの印刷時に、このラベル数をスキップします。" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "ボーダー" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "各ラベルの周囲に枠線を印刷します。" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "ランドスケープ" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "ラベルシートを横向きに印刷" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "InvenTree ラベルシート・プリンタ" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "複数のラベルを1枚のシートに配列" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "ラベルがページサイズに対して大きすぎる" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "ラベルは生成されませんでした" @@ -7046,21 +7147,21 @@ msgstr "プラグイン" msgid "Method" msgstr "方法" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "著者は見つかりませんでした" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "プラグイン'{p}'は現在のInvenTreeバージョン{v}と互換性がありません。" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "プラグインには少なくともバージョン {v} が必要です。" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "プラグインに必要なバージョンは最大で{v}です。" @@ -7345,7 +7446,7 @@ msgstr "フィルター" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "テンプレートクエリフィルタ(key=valueペアのカンマ区切りリスト)" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "テンプレートファイル" @@ -7357,56 +7458,56 @@ msgstr "PDFレポートのページサイズ" msgid "Render report in landscape orientation" msgstr "レポートを横向きにレンダリング" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "テンプレート{self.name}から生成されたレポート" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "レポート生成エラー" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "幅 [mm]" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "ラベル幅(mm単位)" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "高さ [mm]" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "ラベルの高さ(mm単位)" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "ラベル印刷エラー" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "スニペット" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "レポートスニペットファイル" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "スニペットファイルの説明" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "資産" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "レポート資産ファイル" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "アセットファイルの説明" @@ -7694,7 +7795,7 @@ msgstr "アイコンが設定されていないすべての場所のデフォル msgid "Stock Location" msgstr "ストックロケーション" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "在庫場所" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "外部" @@ -8599,115 +8700,115 @@ msgstr "削除" msgid "Permission to delete items" msgstr "項目を削除する権限" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "ボット" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "内部" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "ゲスト" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "言語" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "ユーザーの希望言語" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "テーマ" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "JSONとしてのウェブUI用の設定 - 手動で編集しないでください!" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "ウィジェット" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "JSONとしてのダッシュボード・ウィジェットの設定 - 手動で編集しないでください!" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "表示名" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "ユーザーの表示名選択" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "位置" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "主な役職名" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "ユーザーのステータスメッセージ" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "ユーザーの位置情報" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "ユーザーが積極的にシステムを利用" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "希望の連絡先" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "ユーザータイプ" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "どのようなユーザーですか?" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "組織" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "ユーザーの主な所属組織" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "プライマリーグループ" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "ユーザーのプライマリグループ" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "管理者" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "ストックテイク" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "購入注文" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "セールスオーダー" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "返品注文" diff --git a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po index 3a89a73818..a88fa20be9 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:14\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "" @@ -108,9 +108,9 @@ msgstr "" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "" msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "" @@ -526,29 +526,29 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "" @@ -646,16 +646,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "" @@ -663,15 +663,15 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "" @@ -682,52 +682,56 @@ msgstr "" msgid "Available" msgstr "" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:291 -msgid "Destination Location" -msgstr "" - -#: build/models.py:296 -msgid "Select location where the completed items will be stored" +#: build/models.py:299 +msgid "External Build" msgstr "" #: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 +msgid "Destination Location" +msgstr "" + +#: build/models.py:310 +msgid "Select location where the completed items will be stored" +msgstr "" + +#: build/models.py:314 msgid "Build Quantity" msgstr "" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "" -#: build/models.py:350 +#: build/models.py:364 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "" -#: build/serializers.py:945 +#: build/serializers.py:946 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "" @@ -1429,544 +1441,544 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "" @@ -1988,7 +2000,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "" @@ -2004,80 +2016,88 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2188,8 +2208,8 @@ msgstr "" #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "" @@ -2417,8 +2437,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "" @@ -2431,8 +2451,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "" @@ -3546,8 +3558,8 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "" @@ -3591,7 +3603,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "" @@ -3701,8 +3713,8 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "" @@ -3730,7 +3742,7 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "" @@ -3782,8 +3794,8 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "" @@ -3818,7 +3830,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "" @@ -3854,15 +3866,15 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "" @@ -4186,101 +4198,105 @@ msgstr "" msgid "Config type" msgstr "" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "" -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1241 +#: order/models.py:1283 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1251 +#: order/models.py:1293 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "" -#: order/models.py:1595 +#: order/models.py:1637 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1847 +#: order/models.py:1924 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2218 +#: order/models.py:2301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2735 +#: order/models.py:2818 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "" @@ -5142,24 +5174,24 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "" @@ -5191,7 +5223,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "" @@ -5200,8 +5232,8 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5316,7 +5348,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5357,7 +5389,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "" @@ -5433,847 +5465,867 @@ msgstr "" msgid "Last Stocktake" msgstr "" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:537 +#: part/serializers.py:550 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -6857,43 +6958,43 @@ msgstr "" msgid "Skip this number of labels when printing label sheets" msgstr "" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "" @@ -7046,21 +7147,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7345,7 +7446,7 @@ msgstr "" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "" @@ -7357,56 +7458,56 @@ msgstr "" msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "" @@ -7694,7 +7795,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "" @@ -8599,115 +8700,115 @@ msgstr "" msgid "Permission to delete items" msgstr "" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "" diff --git a/src/backend/InvenTree/locale/lt/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/lt/LC_MESSAGES/django.po index 3a791912e7..80c22d4f1c 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-06-02 01:32\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Lithuanian\n" "Language: lt_LT\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "Nepavyko konvertuoti {original} į {unit}" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "Pateiktas neteisingas kiekis" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "Išsami klaidos informacija pateikta administravimo skydelyje" @@ -108,9 +108,9 @@ msgstr "Įveskite datą" msgid "Invalid decimal value" msgstr "Neteisinga dešimtainė reikšmė" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -134,7 +134,7 @@ msgstr "Negalima iš karto susieti daugiau nei 1000 elementų" #: InvenTree/helpers.py:558 msgid "Empty serial number string" -msgstr "Nepateiktas serijinis numeris" +msgstr "Nepateiktas serijos numeris" #: InvenTree/helpers.py:587 msgid "Duplicate serial" @@ -153,11 +153,11 @@ msgstr "Grupės {group} kiekis viršija leistiną kiekį ({expected_quantity})" #: InvenTree/helpers.py:716 msgid "No serial numbers found" -msgstr "\"Serijinių numerių nerasta" +msgstr "Serijos numerių nerasta" #: InvenTree/helpers.py:721 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" -msgstr "Unikalių serijinių numerių skaičius ({len(serials)}) turi atitikti kiekį ({expected_quantity})" +msgstr "Unikalių serijos numerių skaičius ({len(serials)}) turi atitikti kiekį ({expected_quantity})" #: InvenTree/helpers.py:840 msgid "Remove HTML tags from this value" @@ -399,90 +399,90 @@ msgstr "Nuoroda turi atitikti reikalaujamą šabloną" msgid "Reference number is too large" msgstr "Nuorodos numeris per didelis" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 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:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "Neteisingas pasirinkimas" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "Pavadinimas" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "Aprašymas" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "Aprašymas (neprivalomas)" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "Kelias" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "Pastabos su „Markdown“ (neprivalomas)" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "Brūkšninio kodo duomenys" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "Trečiosios šalies brūkšninio kodo duomenys" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "Brūkšninio kodo maiša" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "Unikali brūkšninio kodo duomenų maiša\"" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "Rastas esamas brūkšninis kodas" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "Užduoties klaida" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "Foninė užduotis '{f}' nepavyko po {n} bandymų" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "Serverio klaida" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "Serveris užfiksavo klaidą." -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "Turi būti teisingas skaičius" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "Valiuta" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "Pasirinkite valiutą iš galimų variantų" @@ -526,29 +526,29 @@ msgstr "Pertekliaus reikšmė negali viršyti 100%" msgid "Invalid value for overage" msgstr "Netinkama pertekliaus reikšmė" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Užsakymo būsena" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "Pirminė gamyba" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "Įtraukti variantus" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "Įtraukti variantus" msgid "Part" msgstr "Detalė" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "Kategorija" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "Ankstesnė gamyba" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "Priskirta man" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Išdavė" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "Priskirta" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "Sukurta prieš" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "Sukurta po" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "Turi pradžios datą" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "Pradžios data prieš" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "Pradžios data po" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "Turi tikslinę datą" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "Tikslinė data prieš" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "Tikslinė data po" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "Užbaigta prieš" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "Užbaigta po" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "Minimali data" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "Maksimali data" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "Neįtraukti medžio struktūros" @@ -646,16 +646,16 @@ msgstr "Neįtraukti medžio struktūros" msgid "Build must be cancelled before it can be deleted" msgstr "Prieš ištrinant gamybą, ji turi būti atšaukta" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "Sunaudojama" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "Pasirinktinai" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "Surinkimas" @@ -663,17 +663,17 @@ msgstr "Surinkimas" msgid "Tracked" msgstr "Sekama" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "Testuojama" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "Liko neįvykdytų užsakymų" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" -msgstr "Paskirstyta" +msgstr "Priskirta" #: build/api.py:495 company/models.py:889 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 @@ -682,52 +682,56 @@ msgstr "Paskirstyta" msgid "Available" msgstr "Prieinama" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Gamybos užsakymas" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "Gamybos užsakymai" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "Surinkimo BOM nėra patvirtintas" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "Negalima sukurti gamybos užsakymo neaktyviai detalei" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "Negalima sukurti gamybos užsakymo atrakintai detalei" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "Netinkamas pirminės gamybos pasirinkimas" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "Turi būti nurodytas atsakingas vartotojas arba grupė" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "Gamybos užsakymo detalės keisti negalima" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "Tikslinė data turi būti po pradžios datos" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "Gamybos užsakymo nuoroda" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "Gamybos užsakymo nuoroda" msgid "Reference" msgstr "Nuoroda" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "Trumpas gamybos aprašymas (neprivalomas)" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Gamybos užsakymas, kuriam ši gamyba priskirta" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "Pasirinkite detalę gamybai" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "Pardavimo užsakymo nuoroda" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "Pardavimo užsakymas, kuriam ši gamyba priskirta" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "Šaltinio vieta" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Pasirinkite vietą atsargoms paimti šiai gamybai (palikite tuščią, jei tinka bet kuri vieta)" -#: build/models.py:291 +#: build/models.py:299 +msgid "External Build" +msgstr "" + +#: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 msgid "Destination Location" msgstr "Paskirties vieta" -#: build/models.py:296 +#: build/models.py:310 msgid "Select location where the completed items will be stored" msgstr "Pasirinkite vietą, kur bus laikomos užbaigtos prekės" -#: build/models.py:300 +#: build/models.py:314 msgid "Build Quantity" msgstr "Gamybos kiekis" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" -msgstr "Kiekis atsargų, kurias reikia pagaminti" +msgstr "Atsargų kiekis, kurias reikia pagaminti" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "Užbaigtos prekės" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" -msgstr "Užbaigtų atsargų vienetų skaičius" +msgstr "Užbaigtų atsargų elementų skaičius" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "Gamybos būsena" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "Gamybos būsenos kodas" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "Partijos kodas" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "Šios gamybos partijos kodas" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "Sukūrimo data" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "Gamybos pradžios data" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "Planuojama šio gamybos užsakymo pradžios data" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "Tikslinė užbaigimo data" -#: build/models.py:350 +#: build/models.py:364 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:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "Užbaigimo data" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "Užbaigė" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "Išdavė" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "Vartotojas, kuris išdavė šį gamybos užsakymą" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Atsakingas" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "Vartotojas ar grupė, atsakinga už šį gamybos užsakymą" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "Išorinė nuoroda" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Nuoroda į išorinį URL" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "Gamybos prioritetas" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "Šio gamybos užsakymo prioritetas" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Projekto kodas" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "Šio gamybos užsakymo projekto kodas" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" -msgstr "Nepavyko perduoti užduoties gamybos paskirstymui užbaigti" +msgstr "Nepavyko perduoti užduoties, kad būtų atlikti gamybos paskirstymai" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Gamybos užsakymas {build} užbaigtas" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "Gamybos užsakymas užbaigtas" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "Sekamoms detalėms būtina nurodyti serijos numerius" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "Nepateiktas gamybos rezultatas" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "Gamybos rezultatas jau užbaigtas" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "Gamybos rezultatas neatitinka gamybos užsakymo" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "Kiekis turi būti didesnis nei nulis" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "Kiekis negali viršyti rezultato kiekio" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Gamybos rezultatas {serial} nepraėjo visų privalomų testų" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" -msgstr "Gamybos užsakymo prekė" +msgstr "Gamybos užsakymo eilutės įrašas" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "Gamybos objektas" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "Gamybos objektas" msgid "Quantity" msgstr "Kiekis" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "Reikalingas kiekis gamybos užsakymui" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Gamybos elementas turi nurodyti rezultatą, nes pagrindinė detalė pažymėta kaip sekama" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "Paskirstytas kiekis ({q}) negali viršyti galimo atsargų kiekio ({a})" +msgstr "Priskirtas kiekis ({q}) negali viršyti galimo atsargų kiekio ({a})" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" -msgstr "Atsargų vienetas per daug paskirstytas" +msgstr "Atsargų elementas per daug paskirstytas" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" -msgstr "Paskirstymo kiekis turi būti didesnis nei nulis" +msgstr "Priskirtas kiekis turi būti didesnis nei nulis" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "Atsargoms su serijos numeriais kiekis turi būti 1" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" -msgstr "Pasirinkta atsarga neatitinka BOM eilutės" +msgstr "Pasirinktas atsargų elementas neatitinka BOM eilutės" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" -msgstr "Atsargų vienetas" +msgstr "Atsargų elementas" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" -msgstr "Šaltinio atsargų vienetas" +msgstr "Šaltinio atsargų elementas" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" -msgstr "Atsargų kiekis paskirstymui gamybai" +msgstr "Atsargų kiekis, skirtas paskirstyti į gamybą" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "Įdiegti į" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" -msgstr "Paskirties atsargų vienetas" +msgstr "Paskirties atsargų elementas" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "Gamybos lygis" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "Detalės pavadinimas" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "Projekto kodo etiketė" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "Sukurti antrines gamybas" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "Automatiškai generuoti antrinius gamybos užsakymus" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "Gamybos rezultatas" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "Gamybos rezultatas neatitinka pirminės gamybos" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "Rezultato detalė neatitinka gamybos užsakymo detalės" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "Šis gamybos rezultatas jau užbaigtas" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "Šis gamybos rezultatas nėra visiškai paskirstytas" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "Įveskite kiekį gamybos rezultatui" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "Sekamoms detalėms reikalingas sveikasis kiekis" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" -msgstr "Reikalingas sveikasis kiekis, nes medžiagų sąraše yra sekamų detalių" +msgstr "Reikalingas sveikasis kiekis, nes komplektavimo žiniaraštyje yra sekamų detalių" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "Serijos numeriai" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "Įveskite serijos numerius gamybos rezultatams" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "Vieta" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "Atsargų vieta gamybos rezultatams" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "Automatiškai priskirti serijos numerius" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" -msgstr "Automatiškai paskirstyti reikalingas prekes su atitinkančiais serijos numeriais" +msgstr "Automatiškai priskirti reikalingas prekes su atitinkančiais serijos numeriais" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "Šie serijos numeriai jau egzistuoja arba yra neteisingi" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "Turi būti pateiktas gamybos rezultatų sąrašas" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "Atsargų vieta brokuotiems rezultatams" -#: build/serializers.py:521 -msgid "Discard Allocations" -msgstr "Atmesti paskirstymus" - #: build/serializers.py:522 -msgid "Discard any stock allocations for scrapped outputs" -msgstr "Atmesti visus atsargų paskirstymus brokuotiems rezultatams" +msgid "Discard Allocations" +msgstr "Atmesti priskyrimus" -#: build/serializers.py:527 +#: build/serializers.py:523 +msgid "Discard any stock allocations for scrapped outputs" +msgstr "Atmesti visus atsargų priskyrimus brokuotiems rezultatams" + +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "Priežastis, dėl kurios gamybos rezultatas(-ai) buvo nurašytas(-i)" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "Vieta, kur laikomi užbaigti gamybos rezultatai" -#: build/serializers.py:593 -msgid "Accept Incomplete Allocation" -msgstr "Priimti nepilną paskirstymą" - #: build/serializers.py:594 -msgid "Complete outputs if stock has not been fully allocated" -msgstr "Užbaigti rezultatus, net jei atsargos dar nėra pilnai paskirstytos" +msgid "Accept Incomplete Allocation" +msgstr "Priimti nepilną priskyrimą" -#: build/serializers.py:709 -msgid "Consume Allocated Stock" -msgstr "Sunaudoti paskirstytas atsargas" +#: build/serializers.py:595 +msgid "Complete outputs if stock has not been fully allocated" +msgstr "Užbaigti rezultatus, net jei atsargos dar nėra pilnai priskirtos" #: build/serializers.py:710 -msgid "Consume any stock which has already been allocated to this build" -msgstr "Sunaudoti bet kokias šiai gamybai jau paskirstytas atsargas" +msgid "Consume Allocated Stock" +msgstr "Sunaudoti priskirtas atsargas" -#: build/serializers.py:716 +#: build/serializers.py:711 +msgid "Consume any stock which has already been allocated to this build" +msgstr "Sunaudoti bet kokias šiai gamybai jau priskirtas atsargas" + +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "Pašalinti nebaigtus rezultatus" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "Ištrinti visus nebaigtus gamybos rezultatus" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "Neleidžiama" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "Priimti kaip sunaudotą šio gamybos užsakymo metu" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" -msgstr "Panaikinkite paskirstymą prieš užbaigiant šį gamybos užsakymą" +msgstr "Panaikinkite priskyrimus prieš užbaigiant šį gamybos užsakymą" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "Per daug paskirstytos atsargos" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" -msgstr "Kaip norite elgtis su papildomai šiam gamybos užsakymui paskirstytomis atsargomis" +msgstr "Kaip norite elgtis su papildomai šiam gamybos užsakymui priskirtomis atsargomis" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "Kai kurios atsargos paskirstytos per daug" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" -msgstr "Priimti nepaskirstytas" +msgstr "Priimti nepriskirtą" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" -msgstr "Priimti, kad atsargos nebuvo visiškai paskirstytos šiam gamybos užsakymui" +msgstr "Priimti, kad atsargos nebuvo visiškai priskirtos šiam gamybos užsakymui" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" -msgstr "Reikalingos atsargos nėra visiškai paskirstytos" +msgstr "Reikalingos atsargos nėra visiškai priskirtos" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "Priimti nepilną" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "Priimti, kad ne visi reikalingi gamybos rezultatai buvo užbaigti" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "Reikalingas gamybos kiekis nebuvo užbaigtas" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "Gamybos užsakymas turi nebaigtų antrinių gamybų" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "Gamybos užsakymas turi būti gamybos būsenoje" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "Gamybos užsakymas turi nebaigtų rezultatų" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "Gamybos eilutė" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "Gamybos rezultatas" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "Gamybos rezultatas turi būti susietas su ta pačia gamyba" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" -msgstr "Gamybos prekė" +msgstr "Gamybos eilutės įrašas" -#: build/serializers.py:945 +#: build/serializers.py:946 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:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "Prekė turi būti atsargose" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Viršytas prieinamas kiekis ({q})" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" -msgstr "Sekamų detalių paskirstymui turi būti nurodytas gamybos rezultatas" +msgstr "Sekamų detalių priskyrymui turi būti nurodytas gamybos rezultatas" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Negalima nurodyti gamybos rezultato nesekamoms detalėms" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "Turi būti pateikti paskirstymo elementai" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Atsargų vieta, iš kurios bus imamos detalės (palikite tuščią, jei tinka bet kuri vieta)" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "Neįtraukti vietos" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "Neįtraukti atsargų iš šios pasirinktos vietos" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "Keičiamos atsargos" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Atsargos iš skirtingų vietų gali būti naudojamos pakaitomis" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "Pakaitinės atsargos" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" -msgstr "Leisti paskirstyti pakaitines detales" - -#: build/serializers.py:1133 -msgid "Optional Items" -msgstr "Pasirinktinai elementai" +msgstr "Leisti priskirti pakaitines detales" #: build/serializers.py:1134 -msgid "Allocate optional BOM items to build order" -msgstr "Paskirstyti papildomus BOM elementus gamybos užsakymui" +msgid "Optional Items" +msgstr "Pasirenkami elementai" -#: build/serializers.py:1156 +#: build/serializers.py:1135 +msgid "Allocate optional BOM items to build order" +msgstr "Priskirti papildomus BOM elementus gamybos užsakymui" + +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "Nepavyko paleisti automatinio paskirstymo užduoties" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "BOM nuoroda" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "BOM detalės ID" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "BOM detalės pavadinimas" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "Gamyba" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "Tiekėjo detalė" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" -msgstr "Paskirtas kiekis" +msgstr "Priskirtas kiekis" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "Gamybos nuoroda" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "Detalės kategorijos pavadinimas" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "Sekama" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "Paveldėta" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "Leisti variantus" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "BOM elementas" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" -msgstr "Paskirstytos atsargos" +msgstr "Priskirtos atsargos" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "Užsakyta" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "Gamyboje" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "Išorinės atsargos" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "Prieinamos atsargos" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "Prieinamos pakaitinės atsargos" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "Prieinamos variantų atsargos" @@ -1429,544 +1441,544 @@ msgstr "Nepateikta jokių galiojančių valiutos kodų" msgid "No plugin" msgstr "Nėra papildinio" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "Atnaujinta" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "Paskutinio atnaujinimo laiko žymė" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "Unikalus projekto kodas" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "Projekto aprašymas" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "Vartotojas arba grupė, atsakinga už šį projektą" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "Nustatymo raktas" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "Nustatymo reikšmė" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "Pasirinkta reikšmė yra netinkama" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "Reikšmė turi būti loginė (taip/ne)" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "Reikšmė turi būti sveikasis skaičius" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "Reikšmė turi būti tinkamas skaičius" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "Reikšmė neatitinka patikros taisyklių" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "Raktas turi būti unikalus" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "Vartotojas" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "Kiekio ribinis taškas kainai" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "Kaina" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "Vieneto kaina nurodytam kiekiui" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "Galutinis taškas" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "Galutinis taškas, kuriuo priimamas šis webhook'as" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "Šio webhook'o pavadinimas" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Aktyvus" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "Ar šis webhook'as aktyvus" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" -msgstr "Žetonas" +msgstr "Raktas" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" -msgstr "Žetonas prieigai" +msgstr "Prieigos raktas" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "Slaptas raktas" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "Bendras slaptas HMAC raktas" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "Pranešimo ID" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "Unikalus pranešimo identifikatorius" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "Pagrindinis serveris" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "Serveris, iš kurio gautas pranešimas" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "Antraštė" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "Šio pranešimo antraštė" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "Turinys" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "Šio pranešimo turinys" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "Galutinis taškas, kuriame gautas pranešimas" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "Apdorota" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "Ar darbas su šiuo pranešimu baigtas?" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "ID" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "Pavadinimas" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Nuoroda" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "Paskelbta" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "Autorius" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "Santrauka" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "Perskaityta" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "Ar ši naujiena buvo perskaityta?" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "Paveikslėlis" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "Paveikslėlio failas" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "Modelio tipas, kuriam priskiriamas šis paveikslėlis" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "Modelio ID, kuriam priskiriamas šis paveikslėlis" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" -msgstr "Individualus vienetas" +msgstr "Pasirinktinis vienetas" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "Vieneto simbolis turi būti unikalus" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "Vieneto pavadinimas turi būti tinkamas identifikatorius" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "Vieneto pavadinimas" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "Simbolis" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "Nebūtinas vieneto simbolis" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "Apibrėžimas" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "Vieneto apibrėžimas" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "Priedas" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "Trūksta failo" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "Trūksta išorinės nuorodos" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "Modelio tipas" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "Modelio tipas, kuriam skirtas paveikslėlis" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "Pasirinkite failą priedui" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "Komentaras" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "Komentaras prie priedo" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "Įkėlimo data" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "Failo įkėlimo data" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "Failo dydis" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "Failo dydis baitais" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "Netinkamas modelio tipas priedui" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" -msgstr "Individuali būsena" +msgstr "Pasirinktinė būsena" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" -msgstr "Individualios būsenos" +msgstr "Pasirinktinės būsenos" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "Nuorodos būsenų rinkinys" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" -msgstr "Būsenų rinkinys, papildomas šia individualia būsena" +msgstr "Būsenų rinkinys, papildomas šia pasirinktine būsena" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "Loginis raktas" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" -msgstr "Loginis būsenos raktas, atitinkantis šią individualią būseną" +msgstr "Loginis būsenos raktas, atitinkantis šią pasirinkitinę būseną" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "Reikšmė" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "Skaitinė reikšmė, saugoma modelio duomenų bazėje" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "Būsenos pavadinimas" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "Etiketė" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "Etiketė, rodoma vartotojo sąsajoje" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "Spalva" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "Spalva, rodoma vartotojo sąsajoje" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "Modelis" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "Modelis, su kuriuo susieta būsena" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "Turi būti pasirinktas modelis" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "Turi būti pasirinktas raktas" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "Turi būti pasirinktas loginis raktas" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "Raktas turi skirtis nuo loginio rakto" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "Turi būti pateikta tinkama nuorodos būsenos klasė" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "Raktas turi skirtis nuo nuorodos būsenų loginių raktų" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "Loginis raktas turi būti tarp nuorodos būsenų loginių raktų" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "Pavadinimas turi skirtis nuo nuorodos būsenų pavadinimų" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "Pasirinkimų sąrašas" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "Pasirinkimų sąrašai" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "Pasirinkimų sąrašo pavadinimas" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "Pasirinkimų sąrašo aprašymas" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "Užrakinta" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "Ar šis sąrašas užrakintas?" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "Ar šį pasirinkimų sąrašą galima naudoti?" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "Šaltinio papildinys" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "Papildinys, pateikiantis šį pasirinkimų sąrašą" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "Šaltinio eilutė" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" -msgstr "Nebūtina eilutė, identifikuojanti šaltinį, naudotą šiam sąrašui" +msgstr "Neprivaloma eilutė, identifikuojanti šaltinį, naudotą šiam sąrašui" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "Numatytasis įrašas" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "Numatytasis šio pasirinkimų sąrašo įrašas" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "Sukurta" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "Data ir laikas, kada buvo sukurtas pasirinkimų sąrašas" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "Paskutinį kartą atnaujinta" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "Data ir laikas, kada paskutinį kartą buvo atnaujintas sąrašas" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "Pasirinkimų sąrašo įrašas" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "Pasirinkimų sąrašo įrašai" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "Pasirinkimų sąrašas, kuriam priklauso šis įrašas" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "Pasirinkimų sąrašo įrašo reikšmė" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "Pasirinkimų įrašo etiketė" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "Pasirinkimų įrašo aprašymas" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "Ar šis sąrašo įrašas aktyvus?" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "Brūkšninio kodo nuskaitymas" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Data" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "Brūkšninio kodo duomenys" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" -msgstr "Vartotojas, nuskenavęs brūkšninį kodą" +msgstr "Vartotojas, nuskaitęs brūkšninį kodą" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "Laiko žymė" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "Brūkšninio kodo nuskaitymo data ir laikas" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "URL galutinis taškas, kuris apdorojo brūkšninį kodą" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "Kontekstas" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "Konteksto duomenys brūkšninio kodo nuskaitymui" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "Atsakas" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "Atsako duomenys iš brūkšninio kodo nuskaitymo" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "Rezultatas" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "Ar brūkšninio kodo nuskaitymas buvo sėkmingas?" @@ -1988,7 +2000,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:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "Gautos prekės" @@ -2004,80 +2016,88 @@ msgstr "Prekės buvo gautos pagal grąžinimo užsakymą" msgid "Error raised by plugin" msgstr "Papildinio iškelta klaida" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "Nurodo, ar nustatymą pakeičia aplinkos kintamasis" + +#: common/serializers.py:134 +msgid "Override" +msgstr "Nepaisyti" + +#: common/serializers.py:472 msgid "Is Running" msgstr "Vykdoma" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "Laukiančios užduotys" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "Suplanuotos užduotys" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "Nepavykusios užduotys" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "Užduoties ID" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "Unikalus užduoties ID" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "Užraktas" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "Užrakto laikas" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "Užduoties pavadinimas" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "Funkcija" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "Funkcijos pavadinimas" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "Argumentai" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "Užduoties argumentai" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "Rakto argumentai" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "Užduoties rakto argumentai" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "Failo pavadinimas" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "Modelio tipas" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "Vartotojas neturi leidimo kurti ar redaguoti šio modelio priedų" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "Pasirinkimų sąrašas yra užrakintas" @@ -2107,11 +2127,11 @@ msgstr "Laukiančių duomenų bazės migracijų skaičius" #: common/setting/system.py:180 msgid "Instance ID" -msgstr "Instancijos ID" +msgstr "Egzemplioriaus ID" #: common/setting/system.py:181 msgid "Unique identifier for this InvenTree instance" -msgstr "Unikalus šios InvenTree instancijos identifikatorius" +msgstr "Unikalus identifikatorius šiam InvenTree egzemplioriui" #: common/setting/system.py:186 msgid "Announce ID" @@ -2119,23 +2139,23 @@ msgstr "Pranešimo ID" #: common/setting/system.py:188 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" -msgstr "Skelbti serverio instancijos ID serverio būsenos informacijoje (neprisijungus)" +msgstr "Skelbti serverio egzemplioriaus ID serverio būsenos informacijoje (neprisijungus)" #: common/setting/system.py:194 msgid "Server Instance Name" -msgstr "Serverio instancijos pavadinimas" +msgstr "Serverio egzemplioriaus pavadinimas" #: common/setting/system.py:196 msgid "String descriptor for the server instance" -msgstr "Serverio instancijos pavadinimas kaip eilutė" +msgstr "Serverio egzemplioriaus pavadinimas kaip eilutė" #: common/setting/system.py:200 msgid "Use instance name" -msgstr "Naudoti instancijos pavadinimą" +msgstr "Naudoti egzemplioriaus pavadinimą" #: common/setting/system.py:201 msgid "Use the instance name in the title-bar" -msgstr "Naudoti instancijos pavadinimą antraštės juostoje" +msgstr "Naudoti egzemplioriaus pavadinimą antraštės juostoje" #: common/setting/system.py:206 msgid "Restrict showing `about`" @@ -2159,7 +2179,7 @@ msgstr "Pagrindinis URL" #: common/setting/system.py:218 msgid "Base URL for server instance" -msgstr "Pagrindinis URL šiai serverio instancijai" +msgstr "Pagrindinis URL šiam serverio egzemplioriui" #: common/setting/system.py:224 msgid "Default Currency" @@ -2188,8 +2208,8 @@ msgstr "Kaip dažnai atnaujinti valiutų kursus (nulis – išjungti)" #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "dienos" @@ -2207,7 +2227,7 @@ msgstr "Atsisiųsti iš URL" #: common/setting/system.py:252 msgid "Allow download of remote images and files from external URL" -msgstr "Leisti atsisiųsti išorinius vaizdus ir failus iš nuorodų" +msgstr "Leisti atsisiųsti išorinius paveikslėlius ir failus iš nuorodų" #: common/setting/system.py:257 msgid "Download Size Limit" @@ -2215,7 +2235,7 @@ msgstr "Atsisiuntimo dydžio riba" #: common/setting/system.py:258 msgid "Maximum allowable download size for remote image" -msgstr "Didžiausias leistinas atsisiunčiamo vaizdo dydis" +msgstr "Didžiausias leistinas atsisiunčiamo paveikslėlio dydis" #: common/setting/system.py:264 msgid "User-agent used to download from URL" @@ -2417,8 +2437,8 @@ msgstr "Kopijuoti kategorijų parametrų šablonus" msgid "Copy category parameter templates when creating a part" msgstr "Kopijuoti kategorijų parametrų šablonus kuriant detalę" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "Šablonas" @@ -2431,8 +2451,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:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "Komponentas" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "Detalės pagal nutylėjimą yra virtualios" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "Rodyti importavimą rodiniuose" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "Rodyti importavimo vedlį kai kuriuose detalių rodiniuose" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "Rodyti susijusias detales" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "Rodyti susijusias detales pasirinktai detalei" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "Pradiniai atsargų duomenys" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "Leisti sukurti pradinę atsargą pridedant naują detalę" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "Pradiniai tiekėjo duomenys" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Leisti sukurti pradinius tiekėjo duomenis pridedant naują detalę" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "Detalės pavadinimo rodymo formatas" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "Detalės pavadinimo rodymo formatas" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "Detalės kategorijos numatytoji piktograma" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "Detalės kategorijos numatytoji piktograma (tuščia reiškia, kad nenaudojama)" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "Reikalauti parametrų vienetų" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "Jei nurodyti vienetai, parametro reikšmės turi atitikti nurodytus vienetus" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "Mažiausias kainos dešimtainių skaičių kiekis" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Minimalus dešimtainių skaitmenų skaičius rodomas kainodaros duomenyse" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "Didžiausias kainos dešimtainių skaičių kiekis" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Didžiausias dešimtainių skaitmenų skaičius rodomas kainodaros duomenyse" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "Naudoti tiekėjo kainas" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Įtraukti tiekėjų kainų lygius į bendrą kainodaros skaičiavimą" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "Pirkimų istorija keičia kainas" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Istorinės pirkimo kainos pakeičia tiekėjo kainų lygius" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "Naudoti atsargų kainas" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Naudoti kainas iš rankiniu būdu įvestų atsargų duomenų kainodaros skaičiavimui" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "Atsargų kainų galiojimo trukmė" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Pašalinti senesnes nei nurodytas dienų skaičius atsargas iš kainodaros skaičiavimų" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "Naudoti variantų kainas" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "Įtraukti variantų kainas į bendrą kainodaros skaičiavimą" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "Tik aktyvūs variantai" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "Naudoti tik aktyvius detalių variantus kainodarai" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "Kainodaros atnaujinimo intervalas" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "Dienų skaičius iki automatinio detalių kainų atnaujinimo" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "Vidinės kainos" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "Įjungti vidines kainas detalėms" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "Vidinės kainos viršenybė" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "Jei yra, vidinės kainos pakeičia bendrus kainodaros skaičiavimus" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "Įjungti etikečių spausdinimą" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "Įjungti etikečių spausdinimą iš žiniatinklio sąsajos" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "Etiketės vaizdo DPI" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "DPI raiška generuojant vaizdus etikečių spausdinimo papildiniams" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "Įjungti ataskaitas" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "Įjungti ataskaitų generavimą" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "Derinimo režimas" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "Generuoti ataskaitas derinimo režimu (HTML išvestis)" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "Registruoti ataskaitų klaidas" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "Registruoti klaidas, įvykusias generuojant ataskaitas" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "Puslapio dydis" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "Numatytasis PDF ataskaitų puslapio dydis" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "Globaliai unikalūs serijiniai numeriai" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" -msgstr "Atsargų serijiniai numeriai turi būti globaliai unikalūs" +msgstr "Atsargų serijos numeriai turi būti globaliai unikalūs" + +#: common/setting/system.py:644 +msgid "Autofill Serial Numbers" +msgstr "Automatiškai užpildyti serijos numerius" + +#: common/setting/system.py:645 +msgid "Autofill serial numbers in forms" +msgstr "Automatiškai užpildyti serijos numerius formose" #: common/setting/system.py:650 -msgid "Autofill Serial Numbers" -msgstr "Automatiškai užpildyti serijinius numerius" - -#: common/setting/system.py:651 -msgid "Autofill serial numbers in forms" -msgstr "Automatiškai užpildyti serijinius numerius formose" - -#: common/setting/system.py:656 msgid "Delete Depleted Stock" msgstr "Ištrinti išnaudotas atsargas" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "Nustato numatytą elgseną, kai atsargos yra išnaudotos" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "Partijos kodo šablonas" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "Šablonas numatytiesiems atsargų partijos kodams generuoti" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "Atsargų galiojimas" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "Įjungti atsargų galiojimo funkcionalumą" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "Parduoti pasibaigusias galioti atsargas" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "Leisti parduoti pasibaigusias galioti atsargas" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "Atsargų senėjimo laikas" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "Dienų skaičius, po kurio atsargos laikomos pasenusiomis iki jų galiojimo pabaigos" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "Naudoti pasibaigusias galioti atsargas gamyboje" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "Leisti naudoti pasibaigusias galioti atsargas gamyboje" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "Atsargų nuosavybės kontrolė" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "Įjungti atsargų vietų ir vienetų nuosavybės kontrolę" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "Atsargų vietos numatytoji piktograma" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "Atsargų vietos numatytoji piktograma (tuščia reiškia nenaudojama)" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "Rodyti sumontuotas atsargas" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "Rodyti sumontuotas atsargas atsargų lentelėse" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "Tikrinti BOM montuojant atsargas" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Sumontuotos atsargos turi būti pirminio gaminio BOM" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "Leisti perkelti neturimas atsargas" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Leisti perkelti atsargas tarp vietų net jei jų nėra atsargose" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "Gamybos užsakymo nuorodos šablonas" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "Privalomas šablonas gamybos užsakymo nuorodos laukui generuoti" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "Reikalauti atsakingo savininko" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "Kiekvienam užsakymui turi būti priskirtas atsakingas savininkas" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "Reikalauti aktyvios detalės" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "Neleidžia kurti gamybos užsakymų neaktyvioms detalėms" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "Reikalauti užrakintos detalės" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "Neleidžia kurti gamybos užsakymų neužrakintoms detalėms" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "Reikalauti galiojančio komplektavimo sąrašo (BOM)" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "Neleidžia kurti gamybos užsakymų, kol BOM nėra patvirtintas" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "Reikalauti uždarytų antrinių užsakymų" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "Neleidžia užbaigti gamybos užsakymo, kol visi antriniai užsakymai neuždaryti" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "Blokuoti, kol testai bus išlaikyti" @@ -2909,7 +2929,7 @@ msgstr "Automatiškai užbaigti pirkimo užsakymus" #: common/setting/system.py:866 msgid "Automatically mark purchase orders as complete when all line items are received" -msgstr "Automatiškai pažymėti pirkimo užsakymus kaip užbaigtus, kai visos prekės yra gautos" +msgstr "Automatiškai pažymėti pirkimo užsakymus kaip užbaigtus, kai visos eilutės yra gautos" #: common/setting/system.py:873 msgid "Enable password forgot" @@ -3113,7 +3133,7 @@ msgstr "Įjungti inventorizacijos funkciją sandėlio kiekiams ir vertei registr #: common/setting/system.py:1047 msgid "Exclude External Locations" -msgstr "Neįtraukti išorinių lokacijų" +msgstr "Neįtraukti išorinių vietų" #: common/setting/system.py:1049 msgid "Exclude stock items in external locations from stocktake calculations" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "Rodyti detalių inventorizacijos informaciją (jei ši funkcija įjungta)" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "Maksimalus simbolių skaičius lentelėje" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "Maksimalus simbolių skaičius, rodomas lentelėse" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "Rodyti paskutinę naršymo grandį" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "Rodyti aktyvų puslapį naršymo grandinėje" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "Gauti klaidų ataskaitas" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "Gauti pranešimus apie sistemos klaidas" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "Paskutiniai naudoti spausdintuvai" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "Išsaugoti paskutinius naudotojo naudotus spausdintuvus" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "Tiekėjas yra aktyvus" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "Gamintojas" @@ -3546,8 +3558,8 @@ msgstr "Kontaininis telefono numeris" msgid "Contact email address" msgstr "Kontaktinis el. pašto adresas" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "Kontaktinis asmuo" @@ -3591,7 +3603,7 @@ msgstr "Ar ši įmonė gamina detales?" msgid "Default currency used for this company" msgstr "Numatytoji valiuta, naudojama šiai įmonei" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "Adresas" @@ -3701,8 +3713,8 @@ msgstr "Pasirinkite detalę" msgid "Select manufacturer" msgstr "Pasirinkite gamintoją" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "MPN" @@ -3730,7 +3742,7 @@ msgstr "Parametro pavadinimas" msgid "Parameter value" msgstr "Parametro reikšmė" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Vienetai" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Susieta gamintojo detalė turi nurodyti tą pačią pagrindinę detalę" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "Tiekėjas" msgid "Select supplier" msgstr "Pasirinkite tiekėją" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "Tiekėjo sandėlio numeris (SKU)" @@ -3782,8 +3794,8 @@ msgstr "Išorinės nuorodos į tiekėjo detalės URL" msgid "Supplier part description" msgstr "Tiekėjo detalės aprašymas" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "Tiekėjo detalės aprašymas" msgid "Note" msgstr "Pastaba" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "bazinė kaina" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimalus mokestis (pvz., sandėliavimo mokestis)" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "Pakuotė" @@ -3818,7 +3830,7 @@ msgstr "Pakuotės kiekis" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Bendras kiekis vienoje pakuotėje. Palikite tuščią, jei prekė tiekiama po vieną." -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "daugiklis" @@ -3854,15 +3866,15 @@ msgstr "Numatytoji valiuta, naudojama šiam tiekėjui" msgid "Company Name" msgstr "Įmonės pavadinimas" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "Sandėlyje" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "Įvyko klaida eksportuojant duomenis" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "Duomenų eksporto įskiepis grąžino neteisingą duomenų formatą" @@ -4098,7 +4110,7 @@ msgstr "Etiketės spausdinamų kopijų skaičius" msgid "Connected" msgstr "Prijungta" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "Nežinoma" @@ -4186,101 +4198,105 @@ msgstr "Įrenginio konfigūracija" msgid "Config type" msgstr "Konfigūracijos tipas" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "Užsakymo nuoroda" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "Neįvykdyta" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "Turi projekto kodą" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "Sukūrė" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "Sukurta prieš" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "Sukurta po" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "Turi pradžios datą" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "Pradžios data prieš" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "Pradžios data po" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "Turi tikslinę datą" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "Tikslinė data prieš" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "Tikslinė data po" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "Turi kainodarą" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "Užbaigta prieš" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "Užbaigta po" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "Užsakymas" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "Užsakymas įvykdytas" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "Vidinė detalė" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "Užsakymas laukia vykdymo" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "Užbaigta" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "Turi siuntą" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Pirkimo užsakymas" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "Pirkimo užsakymas" msgid "Sales Order" msgstr "Pardavimo užsakymas" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: 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/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "Bendra kaina" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "Bendra kaina už šį užsakymą" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "Užsakymo valiuta" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "Užsakymo valiuta (palikite tuščią, jei norite naudoti įmonės numatytąją valiutą)" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "Šis užsakymas užrakintas ir negali būti keičiamas" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "Kontaktas nesutampa su pasirinkta įmone" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "Pradžios data turi būti prieš tikslinę datą" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "Užsakymo aprašymas (neprivalomas)" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "Pasirinkite projekto kodą šiam užsakymui" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "Nuoroda į išorinį puslapį" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "Pradžios data" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "Numatyta pradžios data šiam užsakymui" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Tikslinė data" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Tikėtina užsakymo pristatymo data. Užsakymas bus vėluojantis po šios datos." -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "Išdavimo data" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "Data, kada užsakymas buvo išduotas" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "Vartotojas arba grupė, atsakinga už šį užsakymą" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "Kontaktinis asmuo šiam užsakymui" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "Įmonės adresas šiam užsakymui" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "Užsakymo nuoroda" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "Būsena" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "Pirkimo užsakymo būsena" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "Įmonė, iš kurios užsakomos prekės" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "Tiekėjo nuoroda" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "Tiekėjo užsakymo nuorodos kodas" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "gavo" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "Data, kada užsakymas buvo užbaigtas" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "Paskirties vieta" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "Paskirties vieta gautoms prekėms" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "Detalių tiekėjas turi atitikti pirkimo užsakymo tiekėją" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "Kiekis turi būti teigiamas skaičius" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Klientas" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "Įmonė, kuriai prekės parduodamos" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "Pardavimo užsakymo būsena" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "Kliento nuoroda" -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "Kliento užsakymo nuorodos kodas" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "Siuntos data" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "išsiuntė" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "Užsakymas jau baigtas" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "Užsakymas jau atšauktas" -#: order/models.py:1237 +#: order/models.py:1279 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:1241 +#: order/models.py:1283 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:1246 +#: order/models.py:1288 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:1251 +#: order/models.py:1293 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:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "Užsakymas užrakintas ir negali būti keičiamas" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "Prekės kiekis" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" -msgstr "Prekės nuoroda" +msgstr "Eilutės įrašo nuoroda" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" -msgstr "Prekės pastabos" +msgstr "Eilutės įrašo pastabos" -#: order/models.py:1595 +#: order/models.py:1637 msgid "Target date for this line item (leave blank to use the target date from the order)" -msgstr "Tikslinė data šiai prekei (palikite tuščią, jei norite naudoti užsakymo tikslinę datą)" +msgstr "Tikslinė šio eilutės įrašo data (palikite tuščią, jei norite naudoti užsakymo tikslinę datą)" -#: order/models.py:1616 +#: order/models.py:1658 msgid "Line item description (optional)" -msgstr "Prekės aprašymas (neprivalomas)" +msgstr "Eilutės įrašo aprašymas (neprivalomas)" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "Papildomas kontekstas šiai eilutei" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "Vieneto kaina" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" -msgstr "Pirkimo užsakymo prekė" +msgstr "Pirkimo užsakymo eilutės įrašas" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "Tiekėjo detalė turi atitikti tiekėją" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "Tiekėjo detalė" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "Gauta" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "Gautų prekių kiekis" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "Pirkimo kaina" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "Vieneto pirkimo kaina" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "Pirkimo užsakymo papildoma eilutė" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" -msgstr "Pardavimo užsakymo prekė" +msgstr "Pardavimo užsakymo eilutės įrašas" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtuali detalė negali būti priskirta pardavimo užsakymui" -#: order/models.py:1847 +#: order/models.py:1924 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:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "Pardavimo kaina" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "Vieneto pardavimo kaina" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "Išsiųsta" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "Išsiųstas kiekis" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "Pardavimo užsakymo siunta" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "Siuntos data" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "Pristatymo data" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "Siuntos pristatymo data" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "Patikrino" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "Vartotojas, patikrinęs šią siuntą" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Siunta" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "Siuntos numeris" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "Sekimo numeris" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "Siuntos sekimo informacija" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "Sąskaitos faktūros numeris" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "Nuorodos numeris susijusiai sąskaitai faktūrai" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "Siunta jau buvo išsiųsta" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" -msgstr "Siunta neturi paskirtų prekių" +msgstr "Siunta neturi priskirtų prekių" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "Pardavimo užsakymo papildoma eilutė" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "Pardavimo užsakymo paskirstymas" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "Prekė nėra priskirta" -#: order/models.py:2218 +#: order/models.py:2301 msgid "Cannot allocate stock item to a line with a different part" -msgstr "Negalima paskirstyti prekių kitai eilutei su skirtinga detale" +msgstr "Negalima priskirti prekių eilutei su skirtinga detale" -#: order/models.py:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" -msgstr "Negalima paskirstyti prekių eilutei, jei joje nėra detalės" +msgstr "Negalima priskirti prekių eilutei, jei joje nėra detalės" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" -msgstr "Paskirstymo kiekis negali viršyti atsargų kiekio" +msgstr "Priskiriamas kiekis negali viršyti atsargų kiekio" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" -msgstr "Kiekis turi būti 1, jei prekė turi serijinį numerį" +msgstr "Kiekis turi būti 1, jei prekė turi serijos numerį" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "Pardavimo užsakymas nesutampa su siunta" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "Siunta nesutampa su pardavimo užsakymu" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "Eilutė" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "Pardavimo užsakymo siuntos nuoroda" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "Prekė" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" -msgstr "Pasirinkite prekę paskirstymui" +msgstr "Pasirinkite atsargų elementą priskyrimui" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" -msgstr "Įveskite prekių paskirstymo kiekį" +msgstr "Įveskite prekių priskyrimo kiekį" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "Grąžinimo užsakymo nuoroda" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "Įmonė, iš kurios grąžinamos prekės" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "Grąžinimo užsakymo būsena" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" -msgstr "Grąžinimo užsakymo prekė" +msgstr "Grąžinimo užsakymo eilutės įrašas" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" -msgstr "Prekė turi būti nurodyta" +msgstr "Turi būti nurodytas atsargų elementas" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "Grąžinamo kiekis viršija prekių kiekį" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "Grąžinamo kiekis turi būti daugiau nei nulis" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "Neteisingas kiekis serijinio numerio prekei" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "Pasirinkite prekę grąžinimui iš kliento" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "Gavimo data" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "Data, kada ši grąžinta prekė buvo gauta" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "Rezultatas" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" -msgstr "Rezultatas šiai prekei" +msgstr "Rezultatas šiam eilutės įrašui" -#: order/models.py:2735 +#: order/models.py:2818 msgid "Cost associated with return or repair for this line item" -msgstr "Išlaidos, susijusios su grąžinimu ar remontu šiai prekei" +msgstr "Išlaidos, susijusios su šio eilutės įrašo grąžinimu ar remontu" -#: order/models.py:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "Grąžinimo užsakymo papildoma eilutė" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "Užsakymo ID" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "Užsakymo, kurį reikia dubliuoti, ID" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "Kopijuoti eilutes" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" -msgstr "Kopijuoti eilutes iš pradinio užsakymo" +msgstr "Kopijuoti eilutės įrašus iš pradinio užsakymo" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "Kopijuoti papildomas eilutes" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "Kopijuoti papildomas eilutes iš pradinio užsakymo" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" -msgstr "Eilutės" +msgstr "Eilutės įrašai" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "Užbaigtos eilutės" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "Dubliuoti užsakymą" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "Nurodykite užsakymo dubliavimo parinktis" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "Neteisingas užsakymo ID" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "Tiekėjo pavadinimas" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "Užsakymo atšaukti negalima" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" -msgstr "Leisti užsakymą užbaigti su neužbaigtomis eilutėmis" +msgstr "Leisti užbaigti užsakymą su neužbaigtais eilutės įrašais" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" -msgstr "Užsakyme yra neužbaigtų eilučių" +msgstr "Užsakyme yra neužbaigtų eilutės įrašų" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "Užsakymas nėra atidarytas" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "Automatinis kainų nustatymas" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "Automatiškai apskaičiuoti pirkimo kainą pagal tiekėjo detalės duomenis" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "Pirkimo kainos valiuta" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "Sujungti elementus" -#: order/serializers.py:651 +#: order/serializers.py:658 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ę" +msgstr "Sujungti elementus su ta pačia detale, paskirtimi ir tiksline data į vieną eilutės įrašą" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "SKU" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "Vidinis detalės numeris" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "Vidinis detalės pavadinimas" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "Turi būti nurodyta tiekėjo detalė" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "Turi būti nurodytas pirkimo užsakymas" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "Tiekėjas turi atitikti pirkimo užsakymą" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "Pirkimo užsakymas turi atitikti tiekėją" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" -msgstr "Eilutės elementas" +msgstr "Eilutės įrašas" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" -msgstr "Eilutės elementas neatitinka pirkimo užsakymo" +msgstr "Eilutės įrašas neatitinka pirkimo užsakymo" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "Pasirinkite paskirties vietą gautiems elementams" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" -msgstr "Įveskite partijos kodą gaunamiems atsargų elementams" +msgstr "Įveskite partijos kodą gaunamoms atsargoms" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "Galiojimo data" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" -msgstr "Įveskite galiojimo datą gaunamiems atsargų elementams" +msgstr "Įveskite galiojimo datą gaunamoms atsargoms" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" -msgstr "Įveskite gaunamų atsargų elementų serijos numerius" +msgstr "Įveskite gaunamų atsargų serijos numerius" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" -msgstr "Pakeisti gaunamų atsargų elementų pakavimo informaciją" +msgstr "Pakeisti gaunamų atsargų pakavimo informaciją" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" -msgstr "Papildoma pastaba gaunamiems atsargų elementams" +msgstr "Papildoma pastaba gaunamoms atsargoms" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "Brūkšninis kodas" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "Nuskaitytas brūkšninis kodas" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "Brūkšninis kodas jau naudojamas" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "Sekamoms detalėms turi būti pateiktas sveikasis kiekis" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" -msgstr "Turi būti pateikti eilutės elementai" +msgstr "Turi būti pateikti eilutės įrašai" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "Turi būti nurodyta paskirties vieta" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "Pateiktos brūkšninių kodų reikšmės turi būti unikalios" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "Siuntos" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "Užbaigtos siuntos" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "Pardavimo kainos valiuta" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "Paskirstyti elementai" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "Nepateikta siuntos informacija" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" -msgstr "Eilutės elementas nėra susijęs su šiuo užsakymu" +msgstr "Eilutės įrašas nėra susijęs su šiuo užsakymu" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "Kiekis turi būti teigiamas" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" -msgstr "Įveskite paskirstomus serijos numerius" +msgstr "Įveskite priskiriamus serijos numerius" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "Siunta jau išsiųsta" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "Siunta nėra susieta su šiuo užsakymu" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "Nerasta atitikmenų šiems serijos numeriams" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "Šie serijos numeriai nepasiekiami" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" -msgstr "Grąžinimo užsakymo eilutės elementas" +msgstr "Grąžinimo užsakymo eilutės įrašas" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" -msgstr "Eilutės elementas neatitinka grąžinimo užsakymo" +msgstr "Eilutės įrašas neatitinka grąžinimo užsakymo" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" -msgstr "Eilutės elementas jau gautas" +msgstr "Eilutės įrašas jau gautas" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "Elementai gali būti priimami tik pagal vykdomus užsakymus" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "Grąžinamas kiekis" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "Eilutės kainos valiuta" @@ -5084,7 +5116,7 @@ msgstr "Kaskada" #: part/api.py:169 msgid "Include sub-categories in filtered results" -msgstr "Įtraukti subkategorijas į filtravimo rezultatus" +msgstr "Įtraukti sub-kategorijas į filtravimo rezultatus" #: part/api.py:189 msgid "Parent" @@ -5096,7 +5128,7 @@ msgstr "Filtruoti pagal pirminę kategoriją" #: part/api.py:226 msgid "Exclude sub-categories under the specified category" -msgstr "Neįtraukti subkategorijų po nurodyta kategorija" +msgstr "Neįtraukti sub-kategorijų po nurodyta kategorija" #: part/api.py:438 msgid "Has Results" @@ -5112,15 +5144,15 @@ msgstr "Išsiųstas pardavimo užsakymas" #: part/api.py:637 msgid "Stock produced by Build Order" -msgstr "Atsargos, pagamintos pagal surinkimo užsakymą" +msgstr "Atsargos, pagamintos pagal gamybos užsakymą" #: part/api.py:719 msgid "Stock required for Build Order" -msgstr "Atsargos, reikalingos surinkimo užsakymui" +msgstr "Atsargos, reikalingos gamybos užsakymui" #: part/api.py:865 msgid "Validate entire Bill of Materials" -msgstr "Patvirtinti visą detalių žiniaraštį" +msgstr "Patvirtinti visą komplektavimo žiniaraštį" #: part/api.py:871 msgid "This option must be selected" @@ -5142,24 +5174,24 @@ msgstr "Turi versijų" msgid "BOM Valid" msgstr "BOM galiojantis" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "Surinkimo detalė gali būti testuojama" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "Komponento detalė gali būti testuojama" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "Naudoja" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Detalių kategorija" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "Detalių kategorijos" @@ -5191,17 +5223,17 @@ msgstr "Numatytieji raktažodžiai detalėms šioje kategorijoje" msgid "Icon" msgstr "Piktograma" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" -msgstr "Piktograma (nebūtina)" +msgstr "Piktograma (neprivaloma)" #: part/models.py:179 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Negalite paversti šios detalių kategorijos struktūrine, nes kai kurios detalės jau jai priskirtos!" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "Detalės" @@ -5262,7 +5294,7 @@ msgstr "Pagrindinė detalė turi būti susieta su tuo pačiu šablonu" #: part/models.py:829 msgid "Stock item with this serial number already exists" -msgstr "Atsarginė detalė su šiuo serijos numeriu jau egzistuoja" +msgstr "Atsargų elementas su šiuo serijos numeriu jau egzistuoja" #: part/models.py:971 msgid "Duplicate IPN not allowed in part settings" @@ -5302,7 +5334,7 @@ msgstr "Variantas iš" #: part/models.py:1063 msgid "Part description (optional)" -msgstr "Detalės aprašymas (pasirinktinai)" +msgstr "Detalės aprašymas (neprivalomas)" #: part/models.py:1070 msgid "Keywords" @@ -5316,7 +5348,7 @@ msgstr "Detalės raktažodžiai, skirti pagerinti matomumą paieškos rezultatuo msgid "Part category" msgstr "Detalės kategorija" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" @@ -5357,7 +5389,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:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "Minimalus atsargų kiekis" @@ -5433,847 +5465,867 @@ msgstr "Atsakingas vartotojas už šią detalę" msgid "Last Stocktake" msgstr "Paskutinis inventorizavimas" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "Parduodamas kiekis" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "Valiuta, naudojama kainų skaičiavimams kaupti" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "Minimali BOM kaina" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "Minimali komponentų detalių kaina" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "Maksimali BOM kaina" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "Maksimali komponentų detalių kaina" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "Minimali pirkimo kaina" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "Mažiausia istorinė pirkimo kaina" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "Maksimali pirkimo kaina" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "Didžiausia istorinė pirkimo kaina" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "Minimali vidinė kaina" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "Mažiausia kaina pagal vidinius kainų intervalus" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "Maksimali vidinė kaina" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "Didžiausia kaina pagal vidinius kainų intervalus" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "Mažiausia tiekėjo kaina" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "Mažiausia detalės kaina iš išorinių tiekėjų" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "Didžiausia tiekėjo kaina" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "Didžiausia detalės kaina iš išorinių tiekėjų" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "Mažiausia varianto kaina" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "Apskaičiuota minimali variantų detalių kaina" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "Didžiausia varianto kaina" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "Apskaičiuota didžiausia variantų detalių kaina" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "Minimali kaina" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "Nepaisyti minimalios kainos" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "Maksimali kaina" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "Nepaisyti maksimalios kainos" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "Apskaičiuota bendra minimali kaina" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "Apskaičiuota bendra maksimali kaina" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "Minimali pardavimo kaina" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "Mažiausia pardavimo kaina pagal kainų intervalus" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "Didžiausia pardavimo kaina" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "Didžiausia pardavimo kaina pagal kainų intervalus" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "Mažiausia pardavimo kaina" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "Mažiausia istorinė pardavimo kaina" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "Didžiausia pardavimo kaina" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "Didžiausia istorinė pardavimo kaina" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "Detalė inventorizacijai" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "Vienetų skaičius" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "Atsargų įrašų skaičius inventorizacijos metu" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "Bendras prieinamas atsargų kiekis inventorizacijos metu" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Data" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "Inventorizacijos atlikimo data" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "Papildomos pastabos" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "Naudotojas, atlikęs inventorizaciją" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "Minimali atsargų kaina" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "Apytikslė minimali turimų atsargų kaina" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "Maksimali atsargų kaina" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "Apytikslė maksimali turimų atsargų kaina" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "Ataskaita" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "Inventorizacijos ataskaitos failas (generuotas sistemoje)" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "Detalių skaičius" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "Detalių, įtrauktų į inventorizaciją, skaičius" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "Vartotojas, užsakęs šią inventorizacijos ataskaitą" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "Detalės kainų intervalai pardavimui" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "Detalės bandymų šablonas" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Netinkamas šablono pavadinimas - turi būti bent vienas raidinis ar skaitinis simbolis" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "Pasirinkimai turi būti unikalūs" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "Bandymų šablonus galima kurti tik testuojamoms detalėms" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "Detalė jau turi bandymų šabloną su tokiu pačiu raktu" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "Bandymo pavadinimas" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "Įveskite bandymo pavadinimą" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "Bandymo raktas" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "Supaprastintas bandymo raktas" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "Bandymo aprašymas" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "Įveskite šio bandymo aprašymą" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "Įjungta" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "Ar šis bandymas įjungtas?" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "Privalomas" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "Ar šį bandymą būtina išlaikyti?" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "Reikalauja reikšmės" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "Ar šiam bandymui reikia įvesti reikšmę pridedant rezultatą?" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "Reikalauja priedo" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "Ar šiam bandymui reikia pridėti failą su rezultatu?" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "Pasirinkimai" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "Galimi pasirinkimai šiam bandymui (atskirti kableliais)" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "Detalės parametro šablonas" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "Žymimojo laukelio parametrai negali turėti matavimo vienetų" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "Žymimojo laukelio parametrai negali turėti pasirinkimų" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "Parametro šablono pavadinimas turi būti unikalus" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "Parametro pavadinimas" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "Fiziniai šio parametro vienetai" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "Parametro aprašymas" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "Žymimasis laukelis" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "Ar šis parametras yra žymimasis laukelis?" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "Galimi pasirinkimai šiam parametrui (atskirti kableliais)" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "Pasirinkimų sąrašas šiam parametrui" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "Detalės parametras" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "Parametro keisti negalima - detalė užrakinta" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "Neteisingas pasirinkimas parametro reikšmei" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "Pirminė detalė" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "Parametro šablonas" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "Parametro reikšmė" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "Detalių kategorijos parametro šablonas" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "Numatytoji reikšmė" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "Numatytoji parametro reikšmė" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" -msgstr "Sąrašo elemento keisti negalima - surinkimas užrakintas" +msgstr "BOM elemento keisti negalima - surinkimas užrakintas" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" -msgstr "Sąrašo elemento keisti negalima - varianto surinkimas užrakintas" +msgstr "BOM elemento keisti negalima - varianto surinkimas užrakintas" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "Pasirinkite pirminę detalę" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "Pavaldi detalė" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" -msgstr "Pasirinkite detalę, naudojamą sąraše" +msgstr "Pasirinkite detalę, naudojamą BOM" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" -msgstr "Sąraše reikalingas šios detalės kiekis" +msgstr "BOM reikalingas šios detalės kiekis" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" -msgstr "Šis sąrašo elementas yra pasirenkamas" +msgstr "Šis BOM elementas yra pasirenkamas" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" -msgstr "Šis sąrašo elementas yra sunaudojamas (nesekamas gamybos užsakymuose)" +msgstr "Šis BOM elementas yra sunaudojamas (nesekamas gamybos užsakymuose)" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "Perteklinis kiekis" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Numatytas gamybos nuostolių kiekis (absoliutus arba procentinis)" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "BOM nuoroda" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "BOM pastabos" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "Kontrolinė suma" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "BOM eilutės kontrolinė suma" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "Patvirtinta" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" -msgstr "Šis sąrašo elementas patvirtintas" +msgstr "Šis BOM elementas patvirtintas" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "Paveldima" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" -msgstr "Šį sąrašo elementą paveldi variantų sąrašai" +msgstr "Šį BOM elementą paveldi variantų sąrašai" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" -msgstr "Variantų detalių atsargos gali būti naudojamos šiam sąrašo elementui" +msgstr "Šiam BOM elementui galima naudoti variantinių detalių atsargas" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "Sekamoms detalėms kiekis turi būti sveikasis skaičius" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "Turi būti nurodyta pavaldi detalė" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" -msgstr "Sąrašo elemento pakaitalas" +msgstr "BOM elemento pakaitalas" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "Pakaitinė detalė negali būti tokia pati kaip pagrindinė detalė" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" -msgstr "Pagrindinis sąrašo elementas" +msgstr "Pagrindinis BOM elementas" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "Pakaitinė detalė" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "Detalė 1" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "Detalė 2" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "Pasirinkite susijusią detalę" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "Pastaba šiam ryšiui" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "Detalių ryšio negalima sukurti tarp detalės ir jos pačios" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "Toks ryšys jau egzistuoja" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "Pagrindinė kategorija" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "Pagrindinė detalių kategorija" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "Subkategorijos" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "Rezultatai" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "Rezultatų skaičius, susietas su šiuo šablonu" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" -msgstr "Šios atsargų pozicijos pirkimo valiuta" +msgstr "Šio atsargų elemento pirkimo valiuta" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "Numatomas kiekis" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "Modelio ID" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "Failas nėra paveikslėlis" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "Detalių, naudojančių šį šabloną, skaičius" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "Pradinė detalė" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "Pasirinkite pradinę detalę kopijavimui" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "Kopijuoti paveikslėlį" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "Kopijuoti paveikslėlį iš pradinės detalės" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "Kopijuoti BOM" -#: part/serializers.py:503 -msgid "Copy bill of materials from original part" -msgstr "Kopijuoti komplektavimo specifikaciją iš pradinės detalės" - #: part/serializers.py:509 +msgid "Copy bill of materials from original part" +msgstr "Kopijuoti komplektavimo žiniaraštį iš pradinės detalės" + +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "Kopijuoti parametrus" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "Kopijuoti parametrų duomenis iš pradinės detalės" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "Kopijuoti pastabas" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "Kopijuoti pastabas iš pradinės detalės" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "Pradinis atsargų kiekis" -#: part/serializers.py:537 +#: part/serializers.py:550 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:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "Pradinė atsargų vieta" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "Nurodykite pradinę atsargų vietą šiai detalei" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "Pasirinkite tiekėją (arba palikite tuščią, jei nenorite nurodyti)" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "Pasirinkite gamintoją (arba palikite tuščią, jei nenorite nurodyti)" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "Gamintojo detalės numeris" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "Pasirinkta įmonė nėra galiojantis tiekėjas" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "Pasirinkta įmonė nėra galiojantis gamintojas" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "Detalė su šiuo gamintojo numeriu (MPN) jau egzistuoja" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "Tiekėjo detalė su šiuo SKU jau egzistuoja" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "Kategorijos pavadinimas" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "Surinkimas" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" +msgstr "" + +#: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 msgid "Stock Items" msgstr "Atsargos" -#: part/serializers.py:955 +#: part/serializers.py:983 msgid "Revisions" msgstr "Versijos" -#: part/serializers.py:958 +#: part/serializers.py:987 msgid "Suppliers" msgstr "Tiekėjai" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Bendros atsargos" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "Nepriskirtos atsargos" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "Variantų atsargos" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "Kopijuoti detalę" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "Kopijuoti pradinius duomenis iš kitos detalės" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "Pradinės atsargos" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "Sukurti detalę su pradiniu atsargų kiekiu" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "Tiekėjo informacija" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "Pridėti pradinę tiekėjo informaciją šiai detalei" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "Kopijuoti kategorijos parametrus" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "Kopijuoti parametrų šablonus iš pasirinktos detalių kategorijos" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "Esamas paveikslėlis" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "Esamos detalės paveikslėlio failo pavadinimas" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "Paveikslėlio failas neegzistuoja" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Apriboti inventorizacijos ataskaitą konkrečia detale ir jos variantais" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Apriboti inventorizacijos ataskaitą konkrečia detalių kategorija ir jos subkategorijomis" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Apriboti inventorizacijos ataskaitą konkrečia atsargų vieta ir jos subvietomis" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "Neįtraukti išorinių atsargų" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "Neįtraukti atsargų iš išorinių vietų" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "Generuoti ataskaitą" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "Generuoti ataskaitos failą su apskaičiuotais inventorizacijos duomenimis" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "Atnaujinti detales" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "Atnaujinti nurodytas detales pagal apskaičiuotus inventorizacijos duomenis" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "Inventorizacijos funkcionalumas neįjungtas" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "Fono proceso patikra nepavyko" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "Mažiausia kaina" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "Pakeisti apskaičiuotą mažiausią kainą" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "Mažiausios kainos valiuta" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "Didžiausia kaina" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "Pakeisti apskaičiuotą didžiausią kainą" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "Didžiausios kainos valiuta" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "Atnaujinti" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "Atnaujinti šios detalės kainodarą" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Nepavyko konvertuoti iš nurodytų valiutų į {default_currency}" -#: part/serializers.py:1508 +#: part/serializers.py:1545 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:1511 +#: part/serializers.py:1548 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:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "Pasirinkite pirminį surinkimą" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "Pasirinkite komponentinę detalę" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "Galima surinkti" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "Pasirinkite detalę, iš kurios kopijuoti BOM" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "Pašalinti esamus duomenis" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "Pašalinti esamus BOM elementus prieš kopijuojant" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "Įtraukti paveldėtus" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "Įtraukti BOM elementus, paveldėtus iš šabloninių detalių" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "Praleisti netinkamas eilutes" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "Įjunkite šią parinktį, jei norite praleisti netinkamas eilutes" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "Kopijuoti pakaitines detales" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopijuoti pakaitines detales, kai kopijuojami BOM elementai" @@ -6360,7 +6412,7 @@ msgstr "Modelis nepalaikomas" #: plugin/base/barcodes/api.py:258 msgid "Model instance not found" -msgstr "Modelio instancija nerasta" +msgstr "Modelio egzempliorius nerastas" #: plugin/base/barcodes/api.py:287 msgid "Barcode matches existing item" @@ -6396,11 +6448,11 @@ msgstr "Tiekėjo brūkšniniam kodui įskiepis nerastas" #: plugin/base/barcodes/api.py:625 msgid "Multiple matching line items found" -msgstr "Rastos kelios atitinkančios eilutės" +msgstr "Rasti keli atitinkantys eilutės įrašai" #: plugin/base/barcodes/api.py:628 msgid "No matching line item found" -msgstr "Atitinkančios eilutės nerasta" +msgstr "Atitinkančios eilutės įrašo nerasta" #: plugin/base/barcodes/api.py:674 msgid "No sales order provided" @@ -6408,11 +6460,11 @@ msgstr "Nepateiktas pardavimo užsakymas" #: plugin/base/barcodes/api.py:683 msgid "Barcode does not match an existing stock item" -msgstr "Brūkšninis kodas neatitinka jokio esamo atsargų vieneto" +msgstr "Brūkšninis kodas neatitinka jokio esamo atsargų elemento" #: plugin/base/barcodes/api.py:699 msgid "Stock item does not match line item" -msgstr "Atsargų vienetas neatitinka eilutės elemento" +msgstr "Atsargų elementas neatitinka eilutės įrašo" #: plugin/base/barcodes/api.py:729 msgid "Insufficient stock available" @@ -6420,7 +6472,7 @@ msgstr "Nepakanka atsargų" #: plugin/base/barcodes/api.py:742 msgid "Stock item allocated to sales order" -msgstr "Atsargų vienetas priskirtas pardavimo užsakymui" +msgstr "Atsargų elementas priskirtas pardavimo užsakymui" #: plugin/base/barcodes/api.py:745 msgid "Not enough information" @@ -6433,15 +6485,15 @@ msgstr "Rastas atitinkantis elementas" #: plugin/base/barcodes/mixins.py:374 msgid "Supplier part does not match line item" -msgstr "Tiekėjo detalė neatitinka eilutės elemento" +msgstr "Tiekėjo detalė neatitinka eilutės įrašo" #: plugin/base/barcodes/mixins.py:377 msgid "Line item is already completed" -msgstr "Eilutės elementas jau užbaigtas" +msgstr "Eilutės įrašas jau užbaigtas" #: plugin/base/barcodes/mixins.py:414 msgid "Further information required to receive line item" -msgstr "Norint priimti eilutės elementą, reikia daugiau informacijos" +msgstr "Norint priimti eilutės įrašą, reikia daugiau informacijos" #: plugin/base/barcodes/mixins.py:422 msgid "Received purchase order line item" @@ -6449,7 +6501,7 @@ msgstr "Gauta pirkimo užsakymo eilutė" #: plugin/base/barcodes/mixins.py:429 msgid "Failed to receive line item" -msgstr "Nepavyko priimti eilutės elemento" +msgstr "Nepavyko priimti eilutės įrašo" #: plugin/base/barcodes/serializers.py:53 msgid "Scanned barcode data" @@ -6493,11 +6545,11 @@ msgstr "Negalima pasirinkti struktūrinės vietos" #: plugin/base/barcodes/serializers.py:196 msgid "Purchase order line item to receive items against" -msgstr "Pirkimo užsakymo eilutė, pagal kurią priimamos prekės" +msgstr "Pirkimo užsakymo eilutės įrašas, pagal kurį priimamos prekės" #: plugin/base/barcodes/serializers.py:202 msgid "Automatically allocate stock items to the purchase order" -msgstr "Automatiškai priskirti atsargų vienetus pirkimo užsakymui" +msgstr "Automatiškai priskirti atsargas pirkimo užsakymui" #: plugin/base/barcodes/serializers.py:215 msgid "Sales Order to allocate items against" @@ -6509,7 +6561,7 @@ msgstr "Pardavimo užsakymas nėra atidarytas" #: plugin/base/barcodes/serializers.py:229 msgid "Sales order line item to allocate items against" -msgstr "Pardavimo užsakymo eilutė, kuriai priskirti prekes" +msgstr "Pardavimo užsakymo eilutės įrašas, kuriam priskirti prekes" #: plugin/base/barcodes/serializers.py:236 msgid "Sales order shipment to allocate items against" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "Suteikia vietinį brūkšninių kodų palaikymą" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "Suteikia vietinį brūkšninių kodų palaikymą" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6620,7 +6673,55 @@ msgstr "Trumpo brūkšninio kodo priešdėlis" #: plugin/builtin/barcodes/inventree_barcode.py:45 msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" -msgstr "Pritaikykite trumpųjų brūkšninių kodų priešdėlį - naudinga, kai naudojamos kelios InvenTree instancijos" +msgstr "Pritaikykite trumpųjų brūkšninių kodų priešdėlį - naudinga, kai naudojami keli InvenTree egzemplioriai" + +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "Automatinis užsakymų išdavimas" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "Automatiškai išduoti užsakymus nustatytą tikslinę dieną" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "Automatinis gamybos užsakymų išdavimas" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "Automatiškai išduoti gamybos užsakymus nustatytą tikslinę dieną" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "Automatinis pirkimo užsakymų išdavimas" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "Automatiškai išduoti pirkimo užsakymus nustatytą tikslinę dieną" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "Automatinis pardavimo užsakymų išdavimas" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "Automatiškai išduoti pardavimo užsakymus nustatytą tikslinę dieną" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "Automatinis grąžinimo užsakymų išdavimas" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "Automatiškai išduoti grąžinimo užsakymus nustatytą tikslinę dieną" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "Išduoti atgaline data datuotus užsakymus" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "Automatiškai išduoti užsakymus, kurių data yra atgalinė" #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "Suteikia vidinį palaikymą PDF etikečių spausdinimui" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "Derinimo režimas" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "Įjungti derinimo režimą - grąžina neapdorotą HTML vietoje PDF" @@ -6857,43 +6958,43 @@ msgstr "Praleisti etiketes" msgid "Skip this number of labels when printing label sheets" msgstr "Spausdinant etikečių lapą, praleisti nurodytą etikečių skaičių" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "Rėmelis" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "Spausdinti rėmelį aplink kiekvieną etiketę" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "Gulsčias" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "Spausdinti etikečių lapą gulsčiu režimu" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "Puslapio paraštė" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "Paraštė aplink puslapį (mm)" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "InvenTree etikečių lapo spausdintuvas" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "Išdėsto kelias etiketes viename lape" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "Etiketė per didelė šiam puslapio dydžiui" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "Etikečių nesugeneruota" @@ -7046,21 +7147,21 @@ msgstr "Įskiepis" msgid "Method" msgstr "Metodas" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "Autorius nerastas" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "Įskiepis '{p}' nesuderinamas su dabartine InvenTree versija {v}" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "Įskiepiui reikalinga bent versija {v}" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "Įskiepiui reikalinga ne aukštesnė nei versija {v}" @@ -7179,7 +7280,7 @@ msgstr "Kelias iki pirminio failo administratoriaus integracijai" #: plugin/serializers.py:94 msgid "Optional context data for the admin integration" -msgstr "Pasirinktiniai kontekstiniai duomenys administratoriaus integracijai" +msgstr "Nebūtini kontekstiniai duomenys administratoriaus integracijai" #: plugin/serializers.py:110 msgid "Source URL" @@ -7207,7 +7308,7 @@ msgstr "Patvirtinti įskiepio įdiegimą" #: plugin/serializers.py:137 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." -msgstr "Šis veiksmas įdiegs įskiepį į esamą instanciją. Sistema bus perjungta į priežiūros režimą." +msgstr "Šis veiksmas įdiegs įskiepį į esamą egzempliorių. Sistema bus perjungta į priežiūros režimą." #: plugin/serializers.py:150 msgid "Installation not confirmed" @@ -7345,7 +7446,7 @@ msgstr "Filtrai" 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:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "Šablono failas" @@ -7357,56 +7458,56 @@ msgstr "Puslapio dydis PDF ataskaitoms" msgid "Render report in landscape orientation" msgstr "Rodyti ataskaitą gulsčiai" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "Ataskaita sugeneruota iš šablono {self.name}" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "Klaida generuojant ataskaitą" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "Plotis [mm]" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "Etiketės plotis, nurodytas milimetrais" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "Aukštis [mm]" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "Etiketės aukštis, nurodytas milimetrais" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "Klaida spausdinant etiketes" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "Fragmentas" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "Ataskaitos fragmento failas" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "Fragmento failo aprašymas" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "Išteklius" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "Ataskaitos ištekliaus failas" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "Ištekliaus failo aprašymas" @@ -7443,7 +7544,7 @@ msgstr "QR kodas" #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" -msgstr "Medžiagų sąrašas (BOM)" +msgstr "Komplektavimo žiniaraštis (BOM)" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" @@ -7479,7 +7580,7 @@ msgstr "Vieneto kaina" #: report/templates/report/inventree_return_order_report.html:48 #: report/templates/report/inventree_sales_order_report.html:55 msgid "Extra Line Items" -msgstr "Papildomi eilutės elementai" +msgstr "Papildomi eilutės įrašai" #: report/templates/report/inventree_purchase_order_report.html:72 #: report/templates/report/inventree_sales_order_report.html:72 @@ -7495,7 +7596,7 @@ msgstr "Serijos numeris" #: report/templates/report/inventree_sales_order_shipment_report.html:23 msgid "Allocations" -msgstr "Paskirstymai" +msgstr "Priskyrimai" #: report/templates/report/inventree_sales_order_shipment_report.html:47 msgid "Batch" @@ -7552,11 +7653,11 @@ msgstr "Paveikslėlio failas nerastas" #: report/templatetags/report.py:302 msgid "part_image tag requires a Part instance" -msgstr "Žyma part_image reikalauja detalės (Part) objekto" +msgstr "Žyma part_image reikalauja detalės (Part) egzemplioriaus" #: report/templatetags/report.py:349 msgid "company_image tag requires a Company instance" -msgstr "Žyma company_image reikalauja įmonės (Company) objekto" +msgstr "Žyma company_image reikalauja įmonės (Company) egzemplioriaus" #: stock/api.py:255 msgid "Filter by location depth" @@ -7620,7 +7721,7 @@ msgstr "Išorinė vieta" #: stock/api.py:741 msgid "Consumed by Build Order" -msgstr "Sunaudota surinkimo užsakyme" +msgstr "Sunaudota gamybos užsakyme" #: stock/api.py:751 msgid "Installed in other stock item" @@ -7694,7 +7795,7 @@ msgstr "Numatytoji piktograma visoms vietoms, kurioms nepaskirta piktograma (nep msgid "Stock Location" msgstr "Atsargų vieta" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "Atsargų vietos" @@ -7708,9 +7809,9 @@ msgstr "Pasirinkite savininką" #: stock/models.py:214 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "Atsargų elementai negali būti tiesiogiai patalpinti į struktūrines atsargų vietas, bet gali būti patalpinti į jų sub-vietas." +msgstr "Atsargos negali būti tiesiogiai patalpintos į struktūrines atsargų vietas, bet gali būti patalpinti į jų sub-vietas." -#: stock/models.py:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "Išorinė" @@ -7728,7 +7829,7 @@ msgstr "Šios vietos atsargų vietos tipas" #: stock/models.py:304 msgid "You cannot make this stock location structural because some stock items are already located into it!" -msgstr "Negalite padaryti šios atsargų vietos struktūrine, nes joje jau yra atsargų elementų!" +msgstr "Negalite padaryti šios atsargų vietos struktūrine, nes joje jau yra atsargų!" #: stock/models.py:562 msgid "Part must be specified" @@ -7736,7 +7837,7 @@ msgstr "Turi būti nurodyta detalė" #: stock/models.py:827 msgid "Stock items cannot be located into structural stock locations!" -msgstr "Atsargų elementai negali būti patalpinti į struktūrines atsargų vietas!" +msgstr "Atsargos negali būti patalpintos į struktūrines atsargų vietas!" #: stock/models.py:854 stock/serializers.py:516 msgid "Stock item cannot be created for virtual parts" @@ -7821,7 +7922,7 @@ msgstr "Sunaudojo" #: stock/models.py:1055 msgid "Build order which consumed this stock item" -msgstr "Surinkimo užsakymas, kuris sunaudojo šį atsargų elementą" +msgstr "Gamybos užsakymas, kuris sunaudojo šį atsargų elementą" #: stock/models.py:1064 msgid "Source Purchase Order" @@ -7994,7 +8095,7 @@ msgstr "Sugeneruotas partijos kodas" #: stock/serializers.py:93 msgid "Select build order" -msgstr "Pasirinkite surinkimo užsakymą" +msgstr "Pasirinkite gamybos užsakymą" #: stock/serializers.py:102 msgid "Select stock item to generate batch code for" @@ -8095,7 +8196,7 @@ msgstr "Paskirties atsargų vieta" #: stock/serializers.py:757 msgid "Optional note field" -msgstr "Nebūtinas pastabų laukas" +msgstr "Neprivalomas pastabų laukas" #: stock/serializers.py:767 msgid "Serial numbers cannot be assigned to this part" @@ -8132,7 +8233,7 @@ msgstr "Atsargų elementas nepasiekiamas" #: stock/serializers.py:866 msgid "Selected part is not in the Bill of Materials" -msgstr "Pasirinktos detalės nėra komponentų sąraše" +msgstr "Pasirinktos detalės nėra komplektavimo žiniaraštyje" #: stock/serializers.py:879 msgid "Quantity to install must not exceed available quantity" @@ -8188,7 +8289,7 @@ msgstr "Elementas priskirtas pardavimo užsakymui" #: stock/serializers.py:1382 msgid "Item is allocated to a build order" -msgstr "Elementas priskirtas surinkimo užsakymui" +msgstr "Elementas priskirtas gamybos užsakymui" #: stock/serializers.py:1406 msgid "Customer to assign stock items" @@ -8316,7 +8417,7 @@ msgstr "Atsargos atnaujintos" #: stock/status_codes.py:62 msgid "Installed into assembly" -msgstr "Įdiegta į surinkimą" +msgstr "Sumontuota į surinkimą" #: stock/status_codes.py:63 msgid "Removed from assembly" @@ -8324,7 +8425,7 @@ msgstr "Pašalinta iš surinkimo" #: stock/status_codes.py:65 msgid "Installed component item" -msgstr "Įdiegtas komponentas" +msgstr "Sumontuotas komponentas" #: stock/status_codes.py:66 msgid "Removed component item" @@ -8348,19 +8449,19 @@ msgstr "Konvertuota į variantą" #: stock/status_codes.py:79 msgid "Build order output created" -msgstr "Sukurtas surinkimo užsakymo rezultatas" +msgstr "Sukurtas gamybos užsakymo rezultatas" #: stock/status_codes.py:80 msgid "Build order output completed" -msgstr "Surinkimo užsakymo rezultatas užbaigtas" +msgstr "Gamybos užsakymo rezultatas užbaigtas" #: stock/status_codes.py:81 msgid "Build order output rejected" -msgstr "Surinkimo užsakymo rezultatas atmestas" +msgstr "Gamybos užsakymo rezultatas atmestas" #: stock/status_codes.py:82 msgid "Consumed by build order" -msgstr "Sunaudota surinkimo užsakyme" +msgstr "Sunaudota gamybos užsakyme" #: stock/status_codes.py:85 msgid "Shipped against Sales Order" @@ -8461,16 +8562,16 @@ msgstr "Spustelėkite šią nuorodą, norėdami peržiūrėti šį užsakymą" #: templates/email/build_order_required_stock.html:7 msgid "Stock is required for the following build order" -msgstr "Šiam surinkimo užsakymui reikia atsargų" +msgstr "Šiam gamybos užsakymui reikia atsargų" #: templates/email/build_order_required_stock.html:8 #, python-format msgid "Build order %(build)s - building %(quantity)s x %(part)s" -msgstr "Surinkimo užsakymas %(build)s - surenkama %(quantity)s × %(part)s" +msgstr "Gamybos užsakymas %(build)s - surenkama %(quantity)s × %(part)s" #: templates/email/build_order_required_stock.html:10 msgid "Click on the following link to view this build order" -msgstr "Spustelėkite šią nuorodą, norėdami peržiūrėti šį surinkimo užsakymą" +msgstr "Spustelėkite šią nuorodą, norėdami peržiūrėti šį gamybos užsakymą" #: templates/email/build_order_required_stock.html:14 msgid "The following parts are low on required stock" @@ -8521,11 +8622,11 @@ msgstr "Svarbios datos" #: users/authentication.py:30 users/models.py:157 msgid "Token has been revoked" -msgstr "Prieigos raktas buvo atšauktas" +msgstr "Raktas buvo atšauktas" #: users/authentication.py:33 msgid "Token has expired" -msgstr "Prieigos raktas pasibaigęs" +msgstr "Raktas nebegalioja" #: users/models.py:100 msgid "API Token" @@ -8537,15 +8638,15 @@ msgstr "API prieigos raktai" #: users/models.py:137 msgid "Token Name" -msgstr "Prieigos rakto pavadinimas" +msgstr "Rakto pavadinimas" #: users/models.py:138 msgid "Custom token name" -msgstr "Pasirinktas prieigos rakto pavadinimas" +msgstr "Pasirinktas rakto pavadinimas" #: users/models.py:144 msgid "Token expiry date" -msgstr "Prieigos rakto galiojimo data" +msgstr "Rakto galiojimo data" #: users/models.py:152 msgid "Last Seen" @@ -8553,7 +8654,7 @@ msgstr "Paskutinį kartą naudotas" #: users/models.py:153 msgid "Last time the token was used" -msgstr "Paskutinio prieigos rakto naudojimo laikas" +msgstr "Paskutinis rakto naudojimo laikas" #: users/models.py:157 msgid "Revoked" @@ -8599,115 +8700,115 @@ msgstr "Ištrinti" msgid "Permission to delete items" msgstr "Leidimas ištrinti objektus" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "Botas" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "Vidinis" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "Svečias" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "Kalba" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "Pageidaujama vartotojo kalba" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "Tema" -#: users/models.py:516 +#: users/models.py:520 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:521 +#: users/models.py:525 msgid "Widgets" msgstr "Valdikliai" -#: users/models.py:523 +#: users/models.py:527 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:530 +#: users/models.py:534 msgid "Display Name" msgstr "Rodomas vardas" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "Pasirinktas vartotojo rodomas vardas" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "Pareigos" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "Pagrindinės pareigos arba darbo pavadinimas" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "Vartotojo būsenos žinutė" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "Vartotojo buvimo vietos informacija" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "Vartotojas aktyviai naudoja sistemą" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "Pageidaujama vartotojo kontaktinė informacija" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "Vartotojo tipas" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "Kokio tipo tai vartotojas?" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "Organizacija" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "Pagrindinė vartotojo organizacija / priklausomybė" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "Pagrindinė grupė" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "Pagrindinė vartotojo grupė" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "Administratorius" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "Inventorizacija" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "Pirkimo užsakymai" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "Pardavimo užsakymai" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "Grąžinimo užsakymai" diff --git a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po index 3073cdef59..d97ab37125 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:14\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Latvian\n" "Language: lv_LV\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "Nevarēja konvertēt {original} par {unit}" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "Norādītais daudzums nav derīgs" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "" @@ -108,9 +108,9 @@ msgstr "Ievadiet datumu" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "" msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "" @@ -526,29 +526,29 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "" @@ -646,16 +646,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "" @@ -663,15 +663,15 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "" @@ -682,52 +682,56 @@ msgstr "" msgid "Available" msgstr "" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:291 -msgid "Destination Location" -msgstr "" - -#: build/models.py:296 -msgid "Select location where the completed items will be stored" +#: build/models.py:299 +msgid "External Build" msgstr "" #: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 +msgid "Destination Location" +msgstr "" + +#: build/models.py:310 +msgid "Select location where the completed items will be stored" +msgstr "" + +#: build/models.py:314 msgid "Build Quantity" msgstr "" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "" -#: build/models.py:350 +#: build/models.py:364 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "" -#: build/serializers.py:945 +#: build/serializers.py:946 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "" @@ -1429,544 +1441,544 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "" @@ -1988,7 +2000,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "" @@ -2004,80 +2016,88 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2188,8 +2208,8 @@ msgstr "" #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "" @@ -2417,8 +2437,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "" @@ -2431,8 +2451,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "" @@ -3546,8 +3558,8 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "" @@ -3591,7 +3603,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "" @@ -3701,8 +3713,8 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "" @@ -3730,7 +3742,7 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "" @@ -3782,8 +3794,8 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "" @@ -3818,7 +3830,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "" @@ -3854,15 +3866,15 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "" @@ -4186,101 +4198,105 @@ msgstr "" msgid "Config type" msgstr "" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "" -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1241 +#: order/models.py:1283 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1251 +#: order/models.py:1293 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "" -#: order/models.py:1595 +#: order/models.py:1637 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1847 +#: order/models.py:1924 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2218 +#: order/models.py:2301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2735 +#: order/models.py:2818 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "" @@ -5142,24 +5174,24 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "" @@ -5191,7 +5223,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "" @@ -5200,8 +5232,8 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5316,7 +5348,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5357,7 +5389,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "" @@ -5433,847 +5465,867 @@ msgstr "" msgid "Last Stocktake" msgstr "" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:537 +#: part/serializers.py:550 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -6857,43 +6958,43 @@ msgstr "" msgid "Skip this number of labels when printing label sheets" msgstr "" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "" @@ -7046,21 +7147,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7345,7 +7446,7 @@ msgstr "" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "" @@ -7357,56 +7458,56 @@ msgstr "" msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "" @@ -7694,7 +7795,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "" @@ -8599,115 +8700,115 @@ msgstr "" msgid "Permission to delete items" msgstr "" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "" diff --git a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po index 98ef4251e9..b16cc7300e 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:14\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "{original} kon niet worden omgezet naar {unit}" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "Ongeldige hoeveelheid ingevoerd" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "Error details kunnen worden gevonden in het admin scherm" @@ -108,9 +108,9 @@ msgstr "Voer datum in" msgid "Invalid decimal value" msgstr "Ongeldige decimale waarde" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "Referentie moet overeenkomen met verplicht patroon" msgid "Reference number is too large" msgstr "Referentienummer is te groot" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "Dubbele namen kunnen niet bestaan onder hetzelfde bovenliggende object" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "Ongeldige keuze" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "Naam" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "Omschrijving" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "Omschrijving (optioneel)" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "Pad" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "Markdown notitie (optioneel)" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "Streepjescode gegevens" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "Streepjescode van derden" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "Hash van Streepjescode" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "Unieke hash van barcode gegevens" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "Bestaande barcode gevonden" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "Taak mislukt" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "Achtergrondtaak '{f}' is mislukt na {n} pogingen" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "Serverfout" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "Er is een fout gelogd door de server." -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "Selecteer valuta uit beschikbare opties" @@ -526,29 +526,29 @@ msgstr "Overschot mag niet groter zijn dan 100%" msgid "Invalid value for overage" msgstr "Ongeldige waarde voor overschot" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Status van bestelling" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "Bovenliggende Productie" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "Inclusief varianten" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "Inclusief varianten" msgid "Part" msgstr "Onderdeel" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "Categorie" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "Voorouderlijke bouw" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "Toegewezen aan mij" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Uitgegeven door" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "Toegewezen aan" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "Gemaakt voor" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "Gemaakt na" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "Heeft een startdatum" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "Vervaldatum voor" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "Vervaldatum na" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "Heeft doel datum" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "Doel datum voor" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "Doel datum na" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "Voltooid voor" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "Voltooid na" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "Min. datum" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "Max. datum" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "Boomstructuur uitsluiten" @@ -646,16 +646,16 @@ msgstr "Boomstructuur uitsluiten" msgid "Build must be cancelled before it can be deleted" msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "Verbruiksartikelen" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "Optioneel" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "Samenstelling" @@ -663,15 +663,15 @@ msgstr "Samenstelling" msgid "Tracked" msgstr "Gevolgd" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "Testbaar" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "Openstaande order" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "Toegewezen" @@ -682,52 +682,56 @@ msgstr "Toegewezen" msgid "Available" msgstr "Beschikbaar" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Productieorder" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "Productieorders" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "Assemblage stuklijst is niet gevalideerd" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "Bouw bestelling kan niet worden aangemaakt voor een inactief onderdeel" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "Maken opdracht kan niet worden gemaakt voor een ontgrendeld onderdeel" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "Ongeldige keuze voor bovenliggende productie" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "Verantwoorde gebruiker of groep moet worden opgegeven" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "Bouworder onderdeel kan niet worden gewijzigd" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "Doeldatum moet na startdatum zijn" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "Productieorderreferentie" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "Productieorderreferentie" msgid "Reference" msgstr "Referentie" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "Korte beschrijving van de build (optioneel)" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Productieorder waar deze productie aan is toegewezen" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "Selecteer onderdeel om te produceren" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "Verkooporder Referentie" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "Verkooporder waar deze productie aan is toegewezen" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "Bronlocatie" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Selecteer de locatie waar de voorraad van de productie vandaan moet komen (laat leeg om vanaf elke standaard locatie te nemen)" -#: build/models.py:291 +#: build/models.py:299 +msgid "External Build" +msgstr "" + +#: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 msgid "Destination Location" msgstr "Bestemmings Locatie" -#: build/models.py:296 +#: build/models.py:310 msgid "Select location where the completed items will be stored" msgstr "Selecteer locatie waar de voltooide items zullen worden opgeslagen" -#: build/models.py:300 +#: build/models.py:314 msgid "Build Quantity" msgstr "Productiehoeveelheid" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "Aantal voorraaditems om te produceren" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "Voltooide voorraadartikelen" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "Aantal voorraadartikelen die zijn voltooid" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "Productiestatus" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "Productiestatuscode" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "Batchcode" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "Batchcode voor deze productieuitvoer" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "Aanmaakdatum" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "Bouw start datum" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "Geplande startdatum voor deze bestelling" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "Verwachte opleveringsdatum" -#: build/models.py:350 +#: build/models.py:364 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:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "Opleveringsdatum" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "voltooid door" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "Uitgegeven door" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "Gebruiker die de productieorder heeft gegeven" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Verantwoordelijke" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "Gebruiker of groep verantwoordelijk voor deze bouwopdracht" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "Externe Link" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Link naar externe URL" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "Bouw prioriteit" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "Prioriteit van deze bouwopdracht" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Project code" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "Project code voor deze build order" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "Verwijderen van taak om toewijzingen te voltooien mislukt" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Productieorder {build} is voltooid" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "Een productieorder is voltooid" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "Serienummers moeten worden opgegeven voor traceerbare onderdelen" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "Geen productie uitvoer opgegeven" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "Productie uitvoer is al voltooid" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "Productuitvoer komt niet overeen met de Productieorder" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "Hoeveelheid kan niet groter zijn dan aantal" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Build output {serial} heeft niet alle vereiste tests doorstaan" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "Bouw order regel item" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "Bouw object" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "Bouw object" msgid "Quantity" msgstr "Hoeveelheid" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "Vereiste hoeveelheid voor bouwopdracht" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Productieartikel moet een productieuitvoer specificeren, omdat het hoofdonderdeel gemarkeerd is als traceerbaar" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Toegewezen hoeveelheid ({q}) mag de beschikbare voorraad ({a}) niet overschrijden" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Voorraad item is te veel toegewezen" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Toewijzing hoeveelheid moet groter zijn dan nul" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerde voorraad" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "Geselecteerde voorraadartikelen komen niet overeen met de BOM-regel" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "Voorraadartikel" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "Bron voorraadartikel" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "Voorraad hoeveelheid toe te wijzen aan productie" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "Installeren in" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "Bestemming voorraadartikel" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "Bouw level" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "Onderdeel naam" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "Projectcode label" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "Onderliggende builds aanmaken" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "Automatisch onderliggende build orders genereren" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "Productieuitvoer" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "Productieuitvoer komt niet overeen met de bovenliggende productie" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "Uitvoeronderdeel komt niet overeen met productieorderonderdeel" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "Deze productieuitvoer is al voltooid" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "Deze productieuitvoer is niet volledig toegewezen" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "Voer hoeveelheid in voor productie uitvoer" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Geheel getal vereist omdat de stuklijst traceerbare onderdelen bevat" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "Serienummers" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "Voer serienummers in voor productieuitvoeren" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "Locatie" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "Voorraad locatie voor project uitvoer" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "Serienummers automatisch toewijzen" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" msgstr "Vereiste artikelen automatisch toewijzen met overeenkomende serienummers" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "De volgende serienummers bestaan al of zijn ongeldig" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "Een lijst van productieuitvoeren moet worden verstrekt" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "Voorraadlocatie voor geannuleerde outputs" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "Toewijzingen weggooien" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "Verwijder alle voorraadtoewijzingen voor geannuleerde outputs" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "Reden voor annulering van bouworder(s)" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "Locatie van voltooide productieuitvoeren" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "Incomplete Toewijzing Accepteren" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "Voltooi de uitvoer als de voorraad niet volledig is toegewezen" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "Toegewezen voorraad gebruiken" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "Verbruik elke voorraad die al is toegewezen aan deze build" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "Verwijder Incomplete Uitvoeren" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "Verwijder alle productieuitvoeren die niet zijn voltooid" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "Niet toegestaan" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "Accepteer zoals geconsumeerd onder deze bouwopdracht" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "De-alloceren voordat deze bouwopdracht voltooid wordt" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "Overgealloceerde voorraad" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Hoe wilt u omgaan met extra voorraaditems toegewezen aan de bouworder" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "Sommige voorraadartikelen zijn overalloceerd" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "Accepteer Niet-toegewezen" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Accepteer dat voorraadartikelen niet volledig zijn toegewezen aan deze productieorder" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "Vereiste voorraad is niet volledig toegewezen" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "Accepteer Onvolledig" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "Accepteer dat het vereist aantal productieuitvoeren niet is voltooid" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "Vereiste productiehoeveelheid is voltooid" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "Bouw opdracht heeft open sub bouw orders" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "Bouwen moet in de productiestatus staan" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "Productieorder heeft onvolledige uitvoeren" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "Productielijn" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "Productieuitvoer" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "Productieuitvoer moet naar dezelfde productie wijzen" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "Bouw lijn-item" -#: build/serializers.py:945 +#: build/serializers.py:946 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:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "Artikel moet op voorraad zijn" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Beschikbare hoeveelheid ({q}) overschreden" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "Productieuitvoer moet worden opgegeven voor de toewijzing van gevolgde onderdelen" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Productieuitvoer kan niet worden gespecificeerd voor de toewijzing van niet gevolgde onderdelen" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "Allocaties voor artikelen moeten worden opgegeven" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Voorraadlocatie waar onderdelen afkomstig zijn (laat leeg om van elke locatie te nemen)" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "Locatie uitsluiten" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "Voorraadartikelen van deze geselecteerde locatie uitsluiten" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "Uitwisselbare voorraad" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Voorraadartikelen op meerdere locaties kunnen uitwisselbaar worden gebruikt" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "Vervangende Voorraad" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "Toewijzing van vervangende onderdelen toestaan" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "Optionele Items" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "Alloceer optionele BOM items om bestelling te bouwen" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "Starten van automatische toewijzing taak mislukt" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "BOM referentie" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "BOM onderdeel ID" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "BOM onderdeel naam" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "Bouwen" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "Leveranciersonderdeel" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "Toegewezen hoeveelheid" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "Bouw referentie" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "Naam categorie onderdeel" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "Volgbaar" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "Overgenomen" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "Varianten toestaan" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "Stuklijstartikel" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "Toegewezen voorraad" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "In bestelling" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "In productie" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "Externe voorraad" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "Beschikbare Voorraad" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "Beschikbare vervanging voorraad" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "Beschikbare varianten voorraad" @@ -1429,544 +1441,544 @@ msgstr "Geen geldige valuta codes opgegeven" msgid "No plugin" msgstr "Geen plug-in gevonden" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "Bijgewerkt" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "Tijdstempel van laatste update" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "Unieke projectcode" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "Projectbeschrijving" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "Gebruiker of groep die verantwoordelijk is voor dit project" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "Instellingen" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "Instellingswaarde" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "Gekozen waarde is geen geldige optie" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "Waarde moet een booleaanse waarde zijn" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "Waarde moet een geheel getal zijn" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "Waarde moet een geldig getal zijn" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "Waarde is niet geldig voor validatiecontrole" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "Sleutelreeks moet uniek zijn" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "Gebruiker" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "Prijs pauze hoeveelheid" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "Prijs" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "Stukprijs op opgegeven hoeveelheid" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "Eindpunt" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "Eindpunt waarop deze webhook wordt ontvangen" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "Naam van deze webhook" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Actief" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "Is deze webhook actief" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "Sleutel" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "Token voor toegang" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "Geheim" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "Gedeeld geheim voor HMAC" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "Bericht ID" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "Unieke identificatie voor dit bericht" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "Host" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "Host waarvan dit bericht is ontvangen" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "Koptekst" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "Koptekst van dit bericht" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "Berichtinhoud" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "Inhoud van dit bericht" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "Eindpunt waarop dit bericht is ontvangen" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "Aan gewerkt" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "Is het werk aan dit bericht voltooid?" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "Id" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "Titel" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Koppeling" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "Gepubliceerd" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "Auteur" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "Samenvatting" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "Gelezen" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "Is dit nieuwsitem gelezen?" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "Afbeelding" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "Afbeelding" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "Doel type voor deze afbeelding" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "Doel modelnummer voor deze afbeelding" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "Aangepaste eenheid" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "Eenheid symbool moet uniek zijn" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "Naam van de unit moet een geldig id zijn" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "Naam van eenheid" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "Symbool" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "Optionele eenheid symbool" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "Definitie" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "Definitie van eenheid" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "Bijlage" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "Ontbrekend bestand" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "Externe link ontbreekt" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "Model type" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "Doel type voor afbeelding" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "Bestand als bijlage selecteren" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "Opmerking" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "Opmerking van bijlage" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "Uploaddatum" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "Datum waarop het bestand is geüpload" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "Bestandsgrootte" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "Bestandsgrootte in bytes" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "Ongeldig modeltype opgegeven voor bijlage" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "Aangepaste staat" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "Aangepaste statussen" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "Referentie status set" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "Status set die met deze aangepaste status wordt uitgebreid" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "Logische sleutel" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "Staat logische sleutel die gelijk is aan deze staat in zakelijke logica" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "Waarde" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "De numerieke waarde die wordt opgeslagen in de modellendatabase" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "Naam van de toestand" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "Label" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "Label dat in de frontend getoond wordt" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "Kleur" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "Kleur die in de frontend getoond wordt" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "Model" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "Model met deze staat is gekoppeld aan" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "Het model moet worden gekozen" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "Sleutel moet worden geselecteerd" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "Logische sleutel moet worden geselecteerd" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "Sleutel moet anders zijn dan logische sleutel" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "Geldige referentie status klasse moet worden opgegeven" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "Sleutel moet verschillen van de logische sleutels van de referentie status" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "Logische sleutel moet in de logische sleutels van de referentiestatus staan" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "Naam moet anders zijn dan de namen van de referentie status" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "Keuzelijst" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "Selectielijst" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "Naam van de selectielijst" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "Beschrijving van de selectielijst" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "Vergrendeld" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "Is deze selectielijst vergrendeld?" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "Kan deze selectielijst worden gebruikt?" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "Bron plug-in" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "Plug-in die de selectielijst biedt" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "Bron tekenreeks" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "Optionele tekenreeks die de bron identificeert die voor deze lijst wordt gebruikt" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "Standaard vermelding" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "Standaard vermelding voor deze selectielijst" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "Gecreëerd" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "Datum en tijd waarop de selectielijst is aangemaakt" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "Laatst bijgewerkt" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "Datum en tijd waarop de selectielijst voor het laatst is bijgewerkt" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "Selectielijst item" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "Selectielijst item" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "Selectielijst waaraan dit item hoort" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "Naam van de selectielijst" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "Label voor het item in de selectielijst" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "Beschrijving van het item in de selectielijst" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "Is dit item in deze lijst actief?" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "Barcode Scan" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Gegevens" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "Barcode gegevens" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "Gebruiker die de barcode gescand heeft" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "Tijdstempel" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "Datum en tijd van de streepjescode scan" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "Adres eindpunt dat de streepjescode verwerkt" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "Inhoud" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "Contextgegevens voor de barcode scan" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "Reactie" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "Reactiegegevens van de barcode scan" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "Resultaat" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "Was de barcode succesvol gescand?" @@ -1988,7 +2000,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:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "Ontvangen items" @@ -2004,80 +2016,88 @@ msgstr "Items zijn ontvangen tegen een retour bestelling" msgid "Error raised by plugin" msgstr "Fout veroorzaakt door plug-in" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "Is actief" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "Openstaande taken" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "Geplande taken" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "Mislukte taken" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "Taak ID" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "Unieke taak ID" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "Vergrendel" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "Tijdstip van vergrendeling" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "Naam van de taak" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "Functie" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "Functie naam" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "Argumenten" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "Taak argumenten" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "Trefwoord argumenten" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "Taak trefwoord argumenten" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "Bestandsnaam" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "Model type" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "Gebruiker heeft geen toestemming om bijlagen voor dit model te maken of te bewerken" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "Lijst met selecties is vergrendeld" @@ -2188,8 +2208,8 @@ msgstr "Hoe vaak te controleren op updates (nul om uit te schakelen)" #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "dagen" @@ -2417,8 +2437,8 @@ msgstr "Kopiëer Categorieparameter Sjablonen" msgid "Copy category parameter templates when creating a part" msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "Sjabloon" @@ -2431,8 +2451,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:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "Onderdeel" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "Onderdelen zijn standaard virtueel" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "Toon Import in Weergaven" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "Toon de importwizard in sommige onderdelenweergaven" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "Verwante onderdelen tonen" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "Verwante onderdelen voor een onderdeel tonen" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "Initiële voorraadgegevens" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "Aanmaken van eerste voorraad toestaan bij het toevoegen van een nieuw onderdeel" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "Initiële leveranciergegevens" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Aanmaken van eerste leveranciersgegevens toestaan bij het toevoegen van een nieuw onderdeel" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "Onderdelennaam Weergaveopmaak" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "Opmaak om de onderdeelnaam weer te geven" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "Standaardicoon voor onderdeel catagorie" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "Standaardicoon voor onderdeel catagorie (leeg betekent geen pictogram)" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "Forceer Parameter Eenheden" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "Als er eenheden worden opgegeven, moeten parameterwaarden overeenkomen met de opgegeven eenheden" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "Minimaal aantal prijs decimalen" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Minimaal aantal decimalen om weer te geven bij het weergeven van prijsgegevens" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "Maximum prijs decimalen" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Maximum aantal decimalen om weer te geven bij het weergeven van prijsgegevens" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "Gebruik leveranciersprijzen" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Prijsvoordelen leveranciers opnemen in de totale prijsberekening" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "Aankoopgeschiedenis overschrijven" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historische order prijzen overschrijven de prijzen van de leverancier" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "Gebruik voorraaditem prijzen" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Gebruik prijzen van handmatig ingevoerde voorraadgegevens voor prijsberekeningen" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "Voorraad artikelprijs leeftijd" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Voorraaditems ouder dan dit aantal dagen uitsluiten van prijsberekeningen" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "Gebruik variantprijzen" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "Variantenprijzen opnemen in de totale prijsberekening" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "Alleen actieve varianten" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "Gebruik alleen actieve variantonderdelen voor het berekenen van variantprijzen" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "Prijzen Herbouw interval" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "Aantal dagen voordat de prijzen voor onderdelen automatisch worden bijgewerkt" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "Interne Prijzen" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "Inschakelen van interne prijzen voor onderdelen" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "Interne prijs overschrijven" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "Indien beschikbaar, interne prijzen overschrijven berekeningen van prijsbereik" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "Printen van labels Inschakelen" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "Printen van labels via de webinterface inschakelen" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "Label Afbeelding DPI" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "DPI resolutie bij het genereren van afbeelginsbestanden voor label printer plugins" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "Activeer Rapportages" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "Activeer het genereren van rapporten" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "Foutopsporingsmodus" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "Rapporten genereren in debug modus (HTML uitvoer)" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "Log fouten" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "Registreer fouten die optreden bij het genereren van rapporten" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "Paginagrootte" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "Standaard paginagrootte voor PDF rapporten" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "Globaal unieke serienummers" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "Serienummers voor voorraaditems moeten globaal uniek zijn" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "Serienummers automatisch invullen" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "Automatisch invullen van serienummer in formulieren" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "Verwijder uitgeputte voorraad" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "Bepaalt standaard gedrag wanneer een voorraadartikel leeg is" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "Batchcode Sjabloon" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "Sjabloon voor het genereren van standaard batchcodes voor voorraadartikelen" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "Verlopen Voorraad" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "Verlopen voorraad functionaliteit inschakelen" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "Verkoop Verlopen Voorraad" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "Verkoop verlopen voorraad toestaan" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "Voorraad Vervaltijd" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "Aantal dagen voordat voorraadartikelen als verouderd worden beschouwd voor ze verlopen" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "Produceer Verlopen Voorraad" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "Sta productie met verlopen voorraad toe" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "Voorraad Eigenaar Toezicht" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "Eigenaarstoezicht over voorraadlocaties en items inschakelen" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "Voorraadlocatie standaard icoon" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "Standaard locatie pictogram (leeg betekent geen icoon)" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "Geïnstalleerde voorraad items weergeven" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "Geïnstalleerde voorraadartikelen in voorraadtabellen tonen" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "Controleer BOM bij het installeren van items" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Geïnstalleerde voorraad items moeten in de BOM voor het bovenliggende deel bestaan" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "Sta 'Niet op voorraad overschrijving' toe" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Toestaan dat voorraadartikelen die niet op voorraad zijn worden overgebracht tussen voorraadlocaties" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "Productieorderreferentiepatroon" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "Vereist patroon voor het genereren van het Bouworderreferentieveld" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "Vereis verantwoordelijke eigenaar" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "Een verantwoordelijke eigenaar moet worden toegewezen aan elke bestelling" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "Vereist een actief onderdeel" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "Voorkom het maken van orders voor inactieve onderdelen" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "Vergrendeld onderdeel vereisen" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "Voorkom het maken van orders voor ontgrendelde onderdelen" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "Vereist een geldige BOM" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "Voorkom het creëren van bouworders tenzij BOM is gevalideerd" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "Onderliggende bestellingen vereist" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "Voorkom voltooiing van de bouw tot alle sub orders gesloten zijn" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "Blokkeren tot test geslaagd" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "Toon voorraadinformatie van onderdeel (als voorraadcontrole functionaliteit is ingeschakeld)" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "Tabel tekenreekslengte" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "Maximale lengte voor tekenreeksen weergegeven in tabelweergaven" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "Toon laatste broodkruimel" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "Toon de huidige pagina in het kruimelpad" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "Foutrapportages ontvangen" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "Meldingen ontvangen van systeemfouten" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "Laatst gebruikte printer" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "Sla de laatst gebruikte printer op voor een gebruiker" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "Leverancier is actief" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "Fabrikant" @@ -3546,8 +3558,8 @@ msgstr "Telefoonnummer voor contact" msgid "Contact email address" msgstr "Contact e-mailadres" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "Contact" @@ -3591,7 +3603,7 @@ msgstr "Fabriceert dit bedrijf onderdelen?" msgid "Default currency used for this company" msgstr "Standaardvaluta die gebruikt wordt voor dit bedrijf" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "Adres" @@ -3701,8 +3713,8 @@ msgstr "Onderdeel selecteren" msgid "Select manufacturer" msgstr "Fabrikant selecteren" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "Fabrikant artikel nummer" @@ -3730,7 +3742,7 @@ msgstr "Parameternaam" msgid "Parameter value" msgstr "Parameterwaarde" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Eenheden" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderdeel" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "Leverancier" msgid "Select supplier" msgstr "Leverancier selecteren" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "Voorraad beheers eenheid voor leveranciers" @@ -3782,8 +3794,8 @@ msgstr "URL voor link externe leveranciers onderdeel" msgid "Supplier part description" msgstr "Omschrijving leveranciersdeel" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "Omschrijving leveranciersdeel" msgid "Note" msgstr "Opmerking" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "basisprijs" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimale kosten (bijv. voorraadkosten)" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "Verpakking" @@ -3818,7 +3830,7 @@ msgstr "Pakket hoeveelheid" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Totale hoeveelheid geleverd in één pakket. Laat leeg voor enkele afzonderlijke items." -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "meerdere" @@ -3854,15 +3866,15 @@ msgstr "Standaardvaluta die gebruikt wordt voor deze leverancier" msgid "Company Name" msgstr "Bedrijfsnaam" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "Op voorraad" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "Fout opgetreden tijdens data export" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "Gegevensexport plug-in geeft onjuiste gegevensindeling terug" @@ -4098,7 +4110,7 @@ msgstr "Aantal afdrukken voor elk label" msgid "Connected" msgstr "Verbonden" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "Onbekend" @@ -4186,101 +4198,105 @@ msgstr "Machine configuratie" msgid "Config type" msgstr "Configuratie type" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "Order Referentie" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "Uitmuntend" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "Heeft een projectcode" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "Aangemaakt Door" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "Gemaakt vóór" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "Gemaakt na" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "Heeft vervaldatum" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "Vervaldatum voor" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "Vervaldatum na" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "Heeft doel datum" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "Doel datum voor" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "Doel datum na" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "Heeft prijsstelling" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "Voltooid voor" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "Voltooid na" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "Bestellen" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "Bestelling voltooid" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "Intern onderdeel" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "Bestelling in behandeling" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "Voltooid" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "Heeft verzending" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Inkooporder" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,711 +4304,727 @@ msgstr "Inkooporder" msgid "Sales Order" msgstr "Verkooporder" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "Retour bestelling" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "Totaalprijs" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "Totaalprijs van deze bestelling" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "Valuta bestelling" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "Valuta voor deze order (laat leeg om de standaard van het bedrijf te gebruiken)" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "Deze bestelling is vergrendeld en kan niet worden gewijzigd" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "Contact komt niet overeen met het geselecteerde bedrijf" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "Startdatum moet voor einddatum liggen" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "Bestelling beschrijving (optioneel)" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "Selecteer projectcode voor deze bestelling" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "Link naar externe pagina" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "Start datum" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "Geplande startdatum voor deze bestelling" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Streefdatum" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Verwachte datum voor levering van de bestelling. De bestelling wordt achterstallig na deze datum." -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "Datum van uitgifte" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "Order uitgegeven op datum" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "Gebruiker of groep verantwoordelijk voor deze order" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "Contactpunt voor deze volgorde" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "Bedrijf adres voor deze bestelling" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "Orderreferentie" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "Status" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "Inkooporder status" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "Bedrijf waar de artikelen van worden besteld" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "Leveranciersreferentie" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "Order referentiecode van leverancier" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "ontvangen door" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "Order voltooid op datum" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "Bestemming" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "Bestemming voor ontvangen items" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "Onderdeelleverancier moet overeenkomen met de Inkooporderleverancier" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "Hoeveelheid moet een positief getal zijn" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Klant" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "Bedrijf waaraan de artikelen worden verkocht" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "Verkooporder status" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "Klantreferentie " -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "Klant order referentiecode" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "Verzenddatum" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "verzonden door" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "Bestelling is al afgerond" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "Order is al geannuleerd" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "Alleen een open bestelling kan als voltooid worden gemarkeerd" -#: order/models.py:1241 +#: order/models.py:1283 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:1246 +#: order/models.py:1288 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:1251 +#: order/models.py:1293 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:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "De bestelling is vergrendeld en kan niet worden gewijzigd" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "Hoeveelheid artikelen" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "Artikelregel referentie" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "Artikel notities" -#: order/models.py:1595 +#: order/models.py:1637 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:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "Regelomschrijving (optioneel)" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "Additionele context voor deze regel" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "Stukprijs" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "Inkooporder regel item" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "Leveranciersonderdeel moet overeenkomen met leverancier" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "Leveranciersonderdeel" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "Ontvangen" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "Aantal ontvangen artikelen" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "Inkoopprijs" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "Aankoopprijs per stuk" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "Extra regel inkooporder" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "Verkooporder regel item" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtueel onderdeel kan niet worden toegewezen aan een verkooporder" -#: order/models.py:1847 +#: order/models.py:1924 msgid "Only salable parts can be assigned to a sales order" msgstr "Alleen verkoopbare onderdelen kunnen aan een verkooporder worden toegewezen" -#: order/models.py:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "Verkoopprijs" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "Prijs per stuk" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "Verzonden" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "Verzonden hoeveelheid" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "Verzending van verkooporder" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "Datum van verzending" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "Leveringsdatum" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "Datum van levering van zending" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "Gecontroleerd door" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "Gebruiker die deze zending gecontroleerd heeft" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Zending" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "Zendingsnummer" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "Volgnummer" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "Zending volginformatie" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "Factuurnummer" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "Referentienummer voor bijbehorende factuur" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "Verzending is al verzonden" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "Zending heeft geen toegewezen voorraadartikelen" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "Verkooporder extra regel" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "Toewijzing verkooporder" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "Voorraadartikel is niet toegewezen" -#: order/models.py:2218 +#: order/models.py:2301 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:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "Kan voorraad niet toewijzen aan een regel zonder onderdeel" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Toewijzingshoeveelheid kan niet hoger zijn dan de voorraadhoeveelheid" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerd voorraadartikel" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "Verkooporder komt niet overeen met zending" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "Verzending komt niet overeen met verkooporder" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "Regel" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "Verzendreferentie verkooporder" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "Artikel" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "Selecteer voorraadartikel om toe te wijzen" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "Voer voorraadtoewijzingshoeveelheid in" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "Retour order referentie" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "Bedrijf van waaruit items worden teruggestuurd" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "Retour bestelling status" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "Retourneer bestelregel item" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "Voorraad item moet worden opgegeven" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "Retour hoeveelheid overschrijdt voorraad hoeveelheid" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "Het retour aantal moet groter zijn dan nul" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "Ongeldige hoeveelheid voor geserialiseerde voorraad" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "Selecteer te retourneren product van de klant" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "Ontvangst datum" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "De datum waarop dit retour item is ontvangen" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "Resultaat" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "Resultaat van deze regel item" -#: order/models.py:2735 +#: order/models.py:2818 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:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "Retourneren extra regel" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "Bestelling ID" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "ID van de bestelling om te dupliceren" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "Kopieer regels" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "Kopieer regelitems uit de oorspronkelijke bestelling" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "Extra regels kopiëren" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "Extra regelitems van de oorspronkelijke bestelling kopiëren" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "Artikelen" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "Afgeronde regel items" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "Artikel dupliceren" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "Specificeer opties voor het dupliceren van deze bestelling" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "Ongeldige order ID" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "Leveranciers Naam" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "Order kan niet worden geannuleerd" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "Toestaan order te sluiten met onvolledige regelitems" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "Bestelling heeft onvolledige regelitems" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "Order is niet open" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "Automatisch prijzen" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "Koopprijs automatisch berekenen gebaseerd op leveranciers \n" " onderdelen gegevens" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "Valuta Inkoopprijs" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "Items samenvoegen" -#: order/serializers.py:651 +#: order/serializers.py:658 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:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "SKU" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "Intern Onderdeelnummer" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "Interne naam onderdeel" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "Leveranciersonderdeel moet worden gespecificeerd" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "Inkooporder moet worden gespecificeerd" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "De leverancier moet overeenkomen met de inkooporder" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "Inkooporder moet overeenkomen met de leverancier" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "Artikel" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "Artikelregel komt niet overeen met inkooporder" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "Selecteer bestemmingslocatie voor ontvangen artikelen" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "Voer batch code in voor inkomende voorraad items" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "Vervaldatum" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "Voer vervaldatum in voor inkomende voorraad items" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "Voer serienummers in voor inkomende voorraadartikelen" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "Overschrijf verpakkingsinformatie voor binnenkomende voorraad" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "Extra opmerking voor inkomende voorraad items" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "Streepjescode" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "Gescande streepjescode" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "Streepjescode is al in gebruik" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "Artikelen moeten worden opgegeven" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "Bestemmingslocatie moet worden opgegeven" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "Geleverde streepjescodewaarden moeten uniek zijn" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "Verzendingen" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "Voltooide Verzendingen" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "Valuta verkoopprijs" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "Toegewezen items" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "Geen verzenddetails opgegeven" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "Artikelregel is niet gekoppeld aan deze bestelling" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "Hoeveelheid moet positief zijn" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "Voer serienummers in om toe te wijzen" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "Verzending is al verzonden" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "Zending is niet gekoppeld aan deze bestelling" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "Geen overeenkomst gevonden voor de volgende serienummers" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "De volgende serienummers zijn niet beschikbaar" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "Retourneer regel item" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "Artikelregel komt niet overeen met inkooporder" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "Regel item is al ontvangen" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "Artikelen kunnen alleen worden ontvangen tegen lopende bestellingen" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "Hoeveelheid te retourneren" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "Lijn prijs valuta" @@ -5143,24 +5175,24 @@ msgstr "Heeft revisies" msgid "BOM Valid" msgstr "BOM Valid" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "Assemblage deel is testbaar" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "Component onderdeel is testbaar" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "Gebruik" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Onderdeel Categorie" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "Onderdeel Categorieën" @@ -5192,7 +5224,7 @@ msgstr "Standaard trefwoorden voor delen in deze categorie" msgid "Icon" msgstr "Pictogram" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "Pictogram (optioneel)" @@ -5201,8 +5233,8 @@ msgstr "Pictogram (optioneel)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "U kunt deze voorraadlocatie niet structureel maken omdat sommige voorraadartikelen er al in liggen!" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "Onderdelen" @@ -5317,7 +5349,7 @@ msgstr "Deel sleutelwoorden om de zichtbaarheid van de zoekresultaten te verbete msgid "Part category" msgstr "Onderdeel Categorie" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" @@ -5358,7 +5390,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:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "Minimum voorraad" @@ -5434,847 +5466,867 @@ msgstr "Eigenaar verantwoordelijk voor dit deel" msgid "Last Stocktake" msgstr "Laatste voorraadcontrole" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "Verkopen van meerdere" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "Valuta die gebruikt wordt voor de cache berekeningen" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "Minimale BOM kosten" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "Minimale kosten van onderdelen" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "Maximale BOM kosten" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "Maximale kosten van onderdelen" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "Minimale aankoop kosten" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "Minimale historische aankoop kosten" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "Maximale aanschaf kosten" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "Maximum historische aankoop kosten" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "Minimale interne prijs" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "Minimale kosten op basis van interne prijsschommelingen" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "Maximale interne prijs" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "Maximale kosten gebaseerd op interne prijsvoordelen" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "Minimale leverancier prijs" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "Minimale prijs van onderdeel van externe leveranciers" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "Maximale leverancier prijs" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "Maximale prijs van onderdeel van externe leveranciers" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "Minimale variant kosten" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "Berekende minimale kosten van variant onderdelen" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "Maximale variant kosten" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "Berekende maximale kosten van variant onderdelen" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "Minimale kostprijs" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "Overschrijf minimale kosten" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "Maximale kosten" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "Overschrijf maximale kosten" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "Berekende minimale kosten" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "Berekende totale maximale kosten" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "Minimale verkoop prijs" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "Minimale verkoopprijs gebaseerd op prijsschommelingen" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "Maximale verkoop prijs" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "Maximale verkoopprijs gebaseerd op prijsschommelingen" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "Minimale verkoop prijs" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "Minimale historische verkoop prijs" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "Maximale verkoop prijs" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "Maximale historische verkoop prijs" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "Onderdeel voor voorraadcontrole" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "Getelde items" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "Aantal individuele voorraadvermeldingen op het moment van voorraadcontrole" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "Totale voorraad op het moment van voorraadcontrole" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Datum" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "Datum waarop voorraad werd uitgevoerd" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "Aanvullende notities" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "Gebruiker die deze voorraad heeft uitgevoerd" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "Minimale voorraadprijs" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "Geschatte minimum kosten van de voorraad op de hand" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "Maximale voorraadkosten" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "Geschatte maximale kosten van de hand van voorraad" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "Rapport" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "Bestand voorraadcontrole (intern gegenereerd)" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "Aantal onderdelen" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "Aantal door voorraadopname gedekte onderdelen" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "Gebruiker die om dit voorraadrapport heeft gevraagd" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "Periodieke verkoopprijs voor onderdelen" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "Sjabloon test onderdeel" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Ongeldige sjabloonnaam - moet minstens één alfanumeriek teken bevatten" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "Keuzes moeten uniek zijn" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "Test sjablonen kunnen alleen worden gemaakt voor testbare onderdelen" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "Test template met dezelfde sleutel bestaat al voor een deel" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "Test naam" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "Geef een naam op voor de test" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "Test sleutel" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "Vereenvoudigde sleutel voor de test" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "Test beschrijving" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "Voer beschrijving in voor deze test" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "Ingeschakeld" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "Is deze test ingeschakeld?" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "Vereist" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "Is deze test nodig om te doorlopen?" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "Waarde vereist" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "Heeft deze test een waarde nodig bij het toevoegen van een testresultaat?" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "Vereist bijlage" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "Vereist deze test een bestandsbijlage bij het toevoegen van een testresultaat?" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "Keuzes" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "Geldige keuzes voor deze parameter (komma gescheiden)" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "Sjabloon deel parameter" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "Checkbox parameters kunnen geen eenheden bevatten" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "Checkbox parameters kunnen geen eenheden bevatten" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "De template van de parameter moet uniek zijn" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "Parameternaam" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "Fysieke eenheden voor deze parameter" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "Parameter omschrijving" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "Selectievakje" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "Is deze parameter een selectievak?" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "Geldige keuzes voor deze parameter (komma gescheiden)" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "Lijst met selecties voor deze parameter" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "Onderdeel parameters" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "Parameter kan niet worden gewijzigd - onderdeel is vergrendeld" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "Ongeldige keuze voor parameter waarde" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "Hoofd onderdeel" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "Parameter sjabloon" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "Parameterwaarde" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "Sjabloon categorie parameters onderdeel" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "Standaard waarde" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "Standaard Parameter Waarde" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "BOM item kan niet worden gewijzigd - assemblage is vergrendeld " -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "BOM item kan niet worden gewijzigd - assemblage is vergrendeld" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "Selecteer boven liggend onderdeel" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "Sub onderdeel" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "Selecteer onderdeel dat moet worden gebruikt in BOM" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "BOM hoeveelheid voor dit BOM item" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "Dit BOM item is optioneel" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Dit BOM item is verbruikbaar (het wordt niet bijgehouden in build orders)" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "Over tijd" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschatte hoeveelheid verspilling (absoluut of percentage)" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "Artikelregel referentie" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "BOM item notities" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "Controle som" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "BOM lijn controle som" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "Goedgekeurd" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "Dit BOM item is goedgekeurd" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "Wordt overgenomen" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Dit BOM item wordt overgenomen door BOMs voor variant onderdelen" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Voorraaditems voor variant onderdelen kunnen worden gebruikt voor dit BOM artikel" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "Hoeveelheid moet een geheel getal zijn voor trackable onderdelen" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "Onderdeel moet gespecificeerd worden" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "BOM Item vervangingen bewerken" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "Vervanging onderdeel kan niet hetzelfde zijn als het hoofddeel" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "Bovenliggend BOM item" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "Vervanging onderdeel" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "Eerste deel" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "Tweede deel" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "Selecteer gerelateerd onderdeel" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "Opmerking voor deze relatie" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "Onderdeel relatie kan niet worden gecreëerd tussen een deel en zichzelf" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "Dubbele relatie bestaat al" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "Bovenliggende categorie" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "Bovenliggende onderdeel categorie" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "Subcategorieën" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "Resultaten" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "Aantal resultaten opgenomen ten opzichte van deze template" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "Inkooporder voor dit voorraadartikel" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "Speculatieve hoeveelheid" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "Model Id" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "Bestand is geen afbeelding" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "Aantal onderdelen die deze sjabloon gebruiken" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "Oorspronkelijk onderdeel" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "Selecteer origineel onderdeel om te dupliceren" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "Afbeelding kopiëren" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "Afbeelding kopiëren van het oorspronkelijke onderdeel" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "Copy BOM" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "Kopieer materiaal van het oorspronkelijke deel" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "Parameters kopiëren" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "Parameter data kopiëren van het originele onderdeel" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "Notities kopiëren" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "Kopieer notities van het originele deel" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "Eerste voorraad hoeveelheid" -#: part/serializers.py:537 +#: part/serializers.py:550 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:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "Eerste voorraad locatie" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "Specificeer locatie van de eerste voorraad voor dit onderdeel" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "Selecteer leverancier (of laat leeg om niets in te vullen)" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "Selecteer fabrikant (of laat leeg om niets in te vullen)" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "Fabrikant artikel nummer" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "Geselecteerde onderneming is geen geldige leverancier" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "Geselecteerde bedrijf is geen geldige fabrikant" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "Fabrikant deel dat overeenkomt met deze MPN bestaat al" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "Leveranciersdeel dat overeenkomt met deze SKU bestaat al" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "Categorie naam" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "Bouwen" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" +msgstr "" + +#: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 msgid "Stock Items" msgstr "Voorraadartikelen" -#: part/serializers.py:955 +#: part/serializers.py:983 msgid "Revisions" msgstr "Revisies" -#: part/serializers.py:958 +#: part/serializers.py:987 msgid "Suppliers" msgstr "Leveranciers" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Totale Voorraad" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "Niet toegewezen voorraad" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "Variant voorraad" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "Dupliceer onderdeel" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "Kopieer eerste gegevens uit een ander onderdeel" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "Eerste voorraad" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "Maak onderdeel met eerste voorraad" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "Leveranciersgegevens" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "Aanvankelijke leveranciersinformatie voor dit deel toevoegen" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "Categorie parameters kopiëren" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "Parameter sjablonen kopiëren uit geselecteerde onderdeel categorie" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "Bestaande afbeelding" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "Bestandsnaam van een bestaande onderdeel afbeelding" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "Afbeeldingsbestand bestaat niet" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Limiteer de voorraadrapportage tot een bepaald onderdeel en eventuele variant onderdelen" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Limiteer de voorraadrapportage tot een bepaalde deelcategorie en alle onderliggende categorieën" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Limiteer de voorraadrapportage tot een bepaalde voorraadlocatie en alle onderliggende locaties" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "Externe voorraad uitsluiten" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "Voorraadartikelen op externe locaties uitsluiten" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "Rapport genereren" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "Genereer een bestand met berekende voorraad namen gegevens" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "Onderdelen bijwerken" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "Bijwerken van de opgegeven onderdelen met berekende voorraad gegevens" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "Voorraadcontrole functionaliteit is niet ingeschakeld" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "Achtergrondwerker check is gefaald" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "Minimale prijs" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "Overschrijf berekende waarde voor minimale prijs" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "Minimale prijs valuta" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "Maximale prijs" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "Overschrijf de berekende waarde voor de maximale prijs" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "Maximale prijs valuta" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "Bijwerken" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "Prijzen voor dit onderdeel bijwerken" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, 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:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "Minimumprijs mag niet hoger zijn dan de maximale prijs" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "Maximale prijs mag niet lager zijn dan de minimale prijs" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "Selecteer de bovenliggende assemblage" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "Selecteer het onderdeel" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "Kan bouwen" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "Selecteer onderdeel om BOM van te kopiëren" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "Bestaande gegevens verwijderen" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "Verwijder bestaande BOM items voor het kopiëren" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "Inclusief overgenomen" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "Inclusief stuklijst BOM items die worden overgenomen van getemplated onderdelen" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "Ongeldige regels overslaan" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "Schakel deze optie in om ongeldige rijen over te slaan" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "Verwijder vervangend deel" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopieer vervangende onderdelen bij dubbele stuklijst BOM items" @@ -6585,6 +6637,7 @@ msgid "Provides native support for barcodes" msgstr "Biedt ondersteuning voor barcodes" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6593,7 +6646,7 @@ msgstr "Biedt ondersteuning voor barcodes" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6623,6 +6676,54 @@ msgstr "Korte barcode voorvoegsel" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "Aanpassen van prefix voor korte streepjescodes, kan handig zijn voor omgevingen met meerdere InvenTree instanties" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "Niveau" @@ -6821,12 +6922,12 @@ msgid "Provides native support for printing PDF labels" msgstr "Biedt ondersteuning voor het drukken van PDF labels" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "Foutopsporing modus" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "Schakel debug modus in - retourneert ruwe HTML in plaats van PDF" @@ -6858,43 +6959,43 @@ msgstr "Labels overslaan" msgid "Skip this number of labels when printing label sheets" msgstr "Dit aantal labels bij het afdrukken van labels overslaan" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "Rand" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "Print een rand rond elk label" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "Liggend" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "Print het label blad in liggende modus" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "InvenTree label plaat printer" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "Arrays multiple labels op een enkele plaat" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "Label is te groot voor pagina grootte" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "Geen labels gegenereerd" @@ -7047,21 +7148,21 @@ msgstr "Plug-in" msgid "Method" msgstr "Methode" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "Geen auteur gevonden" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "De plug-in '{p}' is niet compatibel met de huidige InvenTree versie {v}" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "De plug-in vereist minimaal versie {v}" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "Plug-in vereist op de hoogste versie {v}" @@ -7346,7 +7447,7 @@ msgstr "Filters" 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:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "Sjabloon bestand" @@ -7358,56 +7459,56 @@ msgstr "Standaard paginagrootte voor PDF rapport" msgid "Render report in landscape orientation" msgstr "Rapportage weergeven in liggende stand" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "Rapport gegenereerd door template {self.name}" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "Fout bij genereren rapport" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "Breedte [mm]" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "Label breedte, gespecificeerd in mm" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "Hoogte [mm]" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "Label hoogte, gespecificeerd in mm" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "Fout afdrukken van labels" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "Tekstfragment" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "Rapporteer snippet bestand" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "Snippet bestandsbeschrijving" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "Asset" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "Rapporteer asset bestand" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "Beschrijving asset bestand" @@ -7695,7 +7796,7 @@ msgstr "Standaardpictogram voor alle locaties waarvoor geen pictogram is ingeste msgid "Stock Location" msgstr "Voorraadlocatie" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "Voorraadlocaties" @@ -7711,7 +7812,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "Extern" @@ -8600,115 +8701,115 @@ msgstr "Verwijderen" msgid "Permission to delete items" msgstr "Toestemming om items te verwijderen" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "Bot" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "Intern" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "Gast" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "Taal" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "Voorkeurstaal voor gebruiker" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "Thema" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "Instellingen voor webinterface als JSON - niet handmatig bewerken!" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "Widget" -#: users/models.py:523 +#: users/models.py:527 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:530 +#: users/models.py:534 msgid "Display Name" msgstr "Naam weergeven" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "Gekozen weergavenaam voor de gebruiker" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "Functie" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "Titel of positie hoofdtaken" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "Gebruiker status bericht" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "Informatie over locatie gebruiker" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "Gebruiker gebruikt actief het systeem" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "Voorkeursinformatie voor de gebruiker" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "Gebruikers type" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "Welk type gebruiker is dit?" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "Organisatie" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "Gebruikers primaire organisatie/affiliatie" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "Primaire groep" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "Primaire groep van de gebruiker" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "Administrator" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "Voorraadcontrole" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "Inkooporders" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "Verkooporders" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "Retour orders" diff --git a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po index e8a6c7fdcb..ad234c7e80 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:14\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "Kunne ikke konvertere {original} til {unit}" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "Ugyldig mengde oppgitt" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "Feildetaljer kan finnes i admin-panelet" @@ -108,9 +108,9 @@ msgstr "Oppgi dato" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "Referansen må samsvare påkrevd mønster" msgid "Reference number is too large" msgstr "Referansenummeret er for stort" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "Duplikatnavn kan ikke eksistere under samme overordnede" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "Ugyldig valg" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "Navn" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "Beskrivelse" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "Beskrivelse (valgfritt)" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "Sti" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "Markdown-notater (valgfritt)" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "Strekkodedata" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "Tredjeparts strekkodedata" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "Strekkode-hash" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "Unik hash av strekkodedata" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "Eksisterende strekkode funnet" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "Serverfeil" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "En feil har blitt logget av serveren." -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "Må være et gyldig tall" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "Velg valuta ut fra tilgjengelige alternativer" @@ -526,29 +526,29 @@ msgstr "Svinn kan ikke overstige 100%" msgid "Invalid value for overage" msgstr "Ugyldig verdi for svinn" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Ordrestatus" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "Overordnet produksjon" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "" msgid "Part" msgstr "Del" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "Kategori" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Utstedt av" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "" @@ -646,16 +646,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Produksjonen må avbrytes før den kan slettes" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "Forbruksvare" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "Valgfritt" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "Sammenstilling" @@ -663,15 +663,15 @@ msgstr "Sammenstilling" msgid "Tracked" msgstr "Spores" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "Tildelt" @@ -682,52 +682,56 @@ msgstr "Tildelt" msgid "Available" msgstr "Tilgjengelig" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Produksjonsordre" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "Produksjonsordrer" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "Sammenstillings-BOMen er ikke godkjent" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "Produksjonsordre kan ikke opprettes for en inaktiv del" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "Produksjonsordre kan ikke opprettes for en ulåst del" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "Ugyldig valg for overordnet produksjon" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "Ansvarlig bruker eller gruppe må spesifiseres" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "Produksjonsordrens del kan ikke endres" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "Produksjonsordre-referanse" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "Produksjonsordre-referanse" msgid "Reference" msgstr "Referanse" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "Kort beskrivelse av produksjonen (valgfritt)" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Produksjonsordre som denne produksjonen er tildelt" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "Velg del å produsere" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "Salgsordrereferanse" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "Salgsordren denne produksjonen er tildelt til" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "Kildeplassering" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Velg plassering å ta lagerbeholdning fra for denne produksjonen (la stå tomt for a ta fra alle lagerplasseringer)" -#: build/models.py:291 +#: build/models.py:299 +msgid "External Build" +msgstr "" + +#: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 msgid "Destination Location" msgstr "Fullført plassering" -#: build/models.py:296 +#: build/models.py:310 msgid "Select location where the completed items will be stored" msgstr "Velg plassering der fullførte artikler vil bli lagret" -#: build/models.py:300 +#: build/models.py:314 msgid "Build Quantity" msgstr "Produksjonsmengde" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "Antall lagervarer å produsere" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "Fullførte artikler" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "Antall lagervarer som er fullført" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "Produksjonsstatus" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "Produksjonsstatuskode" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "Batchkode" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "Batchkode for denne produksjonsartikkelen" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "Opprettelsesdato" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "Forventet sluttdato" -#: build/models.py:350 +#: build/models.py:364 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:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "Fullført dato" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "fullført av" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "Utstedt av" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "Brukeren som utstedte denne produksjonsordren" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Ansvarlig" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "Bruker eller gruppe ansvarlig for produksjonsordren" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "Ekstern lenke" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Lenke til ekstern URL" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "Produksjonsprioritet" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "Produksjonsordrens prioritet" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Prosjektkode" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "Prosjektkode for denne produksjonsordren" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "Kunne ikke delegere bort oppgaven for å fullføre tildelinger" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Produksjonsordre {build} er fullført" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "En produksjonsordre er fullført" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "Serienumre må angis for sporbare deler" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "Ingen produksjonsartikkel spesifisert" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "Produksjonsartikkelen er allerede fullført" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "Produksjonsartikkelen samsvarer ikke med produksjonsordren" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "Kvantitet kan ikke være større enn utgangsantallet" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Produksjonsartikkel {serial} har ikke bestått alle påkrevde tester" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "Produksjonsartikkel" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "Produksjonsobjekt" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "Produksjonsobjekt" msgid "Quantity" msgstr "Antall" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "Påkrevd antall for produksjonsordre" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Produksjonselement må spesifisere en produksjonsartikkel, da master-del er merket som sporbar" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Tildelt antall ({q}) kan ikke overstige tilgjengelig lagerbeholdning ({a})" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Lagervaren er overtildelt" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Tildelingsantall må være større enn null" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "Mengden må være 1 for serialisert lagervare" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "Valgt lagervare samsvarer ikke med BOM-linjen" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "Lagervare" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "Kildelagervare" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "Lagerantall å tildele til produksjonen" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "Monteres i" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "Lagervare for montering" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "Delnavn" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "Etikett for prosjektkode" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "Produksjonsartikkel" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "Produksjonsartikkel samsvarer ikke med overordnet produksjon" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "Resultatdel samsvarer ikke med produksjonsordredel" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "Denne produksjonsartikkelen er allerede fullført" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "Denne produksjonsartikkelen er ikke fullt tildelt" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "Angi antall for produksjonsartikkel" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "Heltallsverdi kreves for sporbare deler" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Heltallsverdi kreves, da stykklisten inneholder sporbare deler" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "Serienummer" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "Angi serienummer for produksjonsartikler" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "Plassering" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "Lagerplassering for produksjonsartikkel" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "Automatisk tildeling av serienummer" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatisk tildeling av nødvendige artikler med tilsvarende serienummer" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "Følgende serienummer finnes allerede eller er ugyldige" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "En liste over produksjonsartikler må oppgis" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "Lagerplassering for skrotede produksjonsartikler" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "Forkast tildelinger" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "Forkast tildelinger fra skrotede produksjonsartikler" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "Grunn for skroting av produksjonsartikler" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "Plassering for ferdige produksjonsartikler" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "Godta ufullstendig tildeling" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "Fullfør artikler dersom lagerbeholdning ikke er fullt tildelt" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "Bruk tildelt lagerbeholdning" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "Bruk all lagerbeholdning som allerede er tildelt denne produksjonen" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "Fjern ufullstendige artikler" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "Slett alle produksjonsartikler som ikke er fullført" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "Ikke tillatt" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "Godta som brukt av denne produksjonsordren" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "Fjern tildeling før produksjonsordren fullføres" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "Overtildelt lagerbeholdning" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Hvordan vil du håndtere ekstra lagervarer tildelt produksjonsordren" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "Noen lagervarer har blitt overtildelt" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "Godta ikke tildelt" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Godta at lagervarer ikke er fullt tildelt til denne produksjonsordren" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "Nøvendig lagerbeholdning er ikke fullt tildelt" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "Godta uferdig" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "Godta at nødvendig antall fullførte produksjonsartikler ikke er nådd" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "Nødvendig produksjonsmengde er ikke nådd" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "Produksjonsordren har uferdige artikler" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "Produksjonslinje" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "Produksjonsartikkel" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "Produksjonsartikkel må peke til samme produksjon" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "Produksjonsartikkel" -#: build/serializers.py:945 +#: build/serializers.py:946 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:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "Artikkelen må være på lager" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Tilgjengelig antall ({q}) overskredet" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "Produksjonsartikkel må spesifiseres for tildeling av sporede deler" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Produksjonsartikkel kan ikke spesifiseres for tildeling av usporede deler" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "Tildelingsartikler må oppgis" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Lagerplassering hvor deler skal hentes (la stå tomt for å ta fra alle plasseringer)" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "Eksluderer plassering" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "Ekskluder lagervarer fra denne valgte plasseringen" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "Utskiftbar lagerbeholdning" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Lagervarer ved flere plasseringer kan brukes om hverandre" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "Erstatning-lagerbeholdning" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "Tilatt tildelling av erstatningsdeler" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "Valgfrie artikler" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "Tildel valgfrie BOM-artikler til produksjonsordre" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "Kunne ikke starte auto-tideling" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "BOM-referanse" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "Leverandørdel" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "Tildelt antall" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "Produksjonsreferanse" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "Delkategorinavn" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "Sporbar" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "Nedarvet" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "Tillat Varianter" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "BOM-artikkel" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "Tildelt lagerbeholdning" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "I bestilling" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "I produksjon" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "Ekstern lagerbeholdning" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "Tilgjengelig lagerbeholdning" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "Tilgjengelige erstatningsvarer" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "Tilgjengelige variantvarer" @@ -1429,544 +1441,544 @@ msgstr "Ingen gyldige valutakoder angitt" msgid "No plugin" msgstr "Ingen programtillegg" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "Oppdatert" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "Tidsstempel for forrige oppdatering" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "Unik prosjektkode" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "Prosjektbeskrivelse" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "Bruker eller gruppe ansvarlig for dette prosjektet" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "Innstillings verdi" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "Valgt verdi er ikke et gyldig alternativ" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "Verdien må være en boolsk verdi" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "Verdien må være et heltall" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "Nøkkelstreng må være unik" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "Bruker" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "Antall for prisbrudd" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "Pris" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "Enhetspris på spesifisert antall" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "Endepunkt" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "Endepunktet hvor denne webhooken er mottatt" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "Navn for webhooken" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Aktiv" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "Er webhooken aktiv" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "Sjetong" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "Nøkkel for tilgang" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "Hemmelig" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "Delt hemmlighet for HMAC" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "Melding ID" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "Unik Id for denne meldingen" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "Vert" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "Verten denne meldingen ble mottatt fra" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "Tittel" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "Overskrift for denne meldingen" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "Brødtekst" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "Innholdet i meldingen" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "Endepunktet meldingen ble mottatt fra" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "Arbeidet med" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "Var arbeidet med denne meldingen ferdig?" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "Tittel" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Lenke" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "Publisert" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "Forfatter" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "Sammendrag" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "Les" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "Er dette nyhetselementet lest?" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "Bilde" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "Bildefil" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "Enhetssymbolet må være unikt" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "Enhetsnavn må være en gyldig identifikator" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "Enhetsnavn" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "Symbol" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "Valgfritt enhetssymbol" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "Definisjon" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "Enhetsdefinisjon" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "Vedlegg" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "Fil mangler" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "Mangler eksternlenke" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "Velg fil å legge ved" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "Kommentar" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "Vedleggskommentar" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "Opplastet dato" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "Datoen som filen ble lastet opp" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "Filstørrelse" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "Filstørrelse i byte" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "Ugyldig modelltype spesifisert for vedlegg" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "Verdi" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "Opprettet" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "Sist oppdatert" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "Kontekst" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "Resultat" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "" @@ -1988,7 +2000,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:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "Artikler mottatt" @@ -2004,80 +2016,88 @@ msgstr "Artikler har blitt mottatt mot en returordre" msgid "Error raised by plugin" msgstr "Feil oppstått i utvidelse" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "Kjører" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "Ventende oppgaver" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "Planlagte oppgaver" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "Mislykkede oppgaver" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "Oppgave-ID" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "Unik oppgave-ID" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "Lås" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "Låsetidspunkt" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "Oppgavenavn" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "Funksjon" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "Funksjonsnavn" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "Argumenter" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "Oppgaveargumenter" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "Nøkkelordargumenter" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "Nøkkelordargumenter for oppgave" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "Filnavn" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "Modelltype" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "Brukeren har ikke tillatelse tillatelse å opprette eller endre vedlegg for denne modellen" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2188,8 +2208,8 @@ msgstr "Hvor ofte valutakurser skal oppdateres (sett til null for å deaktiverer #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "dager" @@ -2417,8 +2437,8 @@ msgstr "Kopier designmaler for kategoriparametere" msgid "Copy category parameter templates when creating a part" msgstr "Kopier parametermaler for kategori ved oppretting av en del" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "Mal" @@ -2431,8 +2451,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:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "Komponent" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "Deler er virtuelle som standard" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "Vis import i visninger" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "Vis importveiviseren i noen deler visninger" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "Vis relaterte deler" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "Vis relaterte deler i en del" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "Innledende lagerbeholdningsdata" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "Tillat oppretting av innledende lagerbeholdning når en ny del opprettes" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "Innledende leverandørdata" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Tillat oppretting av innledende leverandørdata når en ny del opprettes" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "Visningsformat for delnavn" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "Format for å vise delnavnet" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "Standardikon for delkategorier" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "Standardikon for delkategorier (tomt betyr ingen ikon)" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "Tving parameterenheter" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "Hvis det er angitt en enhet, skal parameterverdiene samsvare med de angitte enhetene" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "Minimum antall desimalplasser for priser" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Minimum antall desimalplasser som skal vises når man gjengir prisdata" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "Maksimalt antall desimalplasser for priser" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Maksimalt antall desimalplasser som skal vises når man gjengir prisdata" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "Bruk leverandørpriser" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Inkluder leverandørprisbrudd i beregninger av totalpriser" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "Innkjøpshistorikkoverstyring" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historiske innkjøpspriser overstyrer leverandørprisnivåer" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "Bruk lagervarepriser" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Bruk priser fra manuelt innlagte lagervarer for prisberegninger" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "Lagervare prisalder" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Unnta lagervarer som er eldre enn dette antall dager fra prisberegninger" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "Bruk Variantpriser" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "Inkluder variantpriser i beregninger av totale priser" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "Kun aktive varianter" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "Bruk kun aktive variantdeler til beregning av variantprising" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "Intervall for rekalkulering av priser" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "Antall dager før delpriser blir automatisk oppdatert" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "Interne Priser" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "Aktiver interne priser for deler" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "Intern prisoverstyring" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "Hvis tilgjengelig, overstyrer interne priser kalkulering av prisområde" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "Aktiver etikettutskrift" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "Aktiver utskrift av etiketter fra nettleseren" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "Etikettbilde-DPI" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "DPI-oppløsning når når det genereres bildefiler for sending til utvidelser for etikettutskrift" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "Aktiver Rapporter" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "Aktiver generering av rapporter" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "Feilsøkingsmodus" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "Generer rapporter i feilsøkingsmodus (HTML-output)" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "Sidestørrelse" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "Standard sidestørrelse for PDF-rapporter" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "Globalt Unike Serienummer" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "Serienummer for lagervarer må være globalt unike" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "Automatisk tildeling av Serienummer" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "Aumatisk fyll ut serienummer i skjemaer" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "Slett oppbrukt lagerbeholdning" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "Batchkodemal" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "Mal for generering av standard batchkoder for lagervarer" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "Lagerbeholdning utløper" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "Aktiver funksjonalitet for utløp av lagerbeholdning" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "Selg utløpt lagerbeholdning" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "Tillat salg av utgått lagerbeholdning" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "Foreldet lagerbeholdning tidsintervall" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "Antall dager før lagervarer er ansett som foreldet før utløp" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "Produsér Utløpt Lagerbeholdning" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "Tillat produksjon med utløpt lagerbeholdning" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "Kontroll over eierskap av lagerbeholdning" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "Aktiver eierskap over lagerplasseringer og -varer" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "Lagerplassering standard ikon" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "Lagerplassering standard ikon (tomt betyr ingen ikon)" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "Vis installerte lagervarer" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "Vis installerte lagervarer i lagertabeller" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "Produksjonsordre-referansemønster" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "Nødvendig mønster for å generere Produksjonsordre-referansefeltet" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "Vis lagertellingsinformasjon for del (om lagertellingsfunksjonalitet er aktivert)" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "Tabellstrenglengde" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "Maksimal lengdegrense for tekst vist i tabeller" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "Motta feilrapporter" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "Motta varsler om systemfeil" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "Leverandør er aktiv" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "Produsent" @@ -3546,8 +3558,8 @@ msgstr "Kontakt-telefonnummer" msgid "Contact email address" msgstr "Kontakt e-post" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "Kontakt" @@ -3591,7 +3603,7 @@ msgstr "Produserer dette firmaet deler?" msgid "Default currency used for this company" msgstr "Standardvaluta brukt for dette firmaet" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "Adresse" @@ -3701,8 +3713,8 @@ msgstr "Velg del" msgid "Select manufacturer" msgstr "Velg produsent" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "MPN" @@ -3730,7 +3742,7 @@ msgstr "Parameternavn" msgid "Parameter value" msgstr "Parameterverdi" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Enheter" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "Leverandør" msgid "Select supplier" msgstr "Velg leverandør" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "Leverandørens lagerbeholdningsenhet" @@ -3782,8 +3794,8 @@ msgstr "URL for ekstern leverandørdel-lenke" msgid "Supplier part description" msgstr "Leverandørens delbeskrivelse" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "Leverandørens delbeskrivelse" msgid "Note" msgstr "Notat" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "grunnkostnad" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimum betaling (f.eks. lageravgift)" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "Emballasje" @@ -3818,7 +3830,7 @@ msgstr "Pakkeantall" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Totalt antall i en enkelt pakke. La være tom for enkeltenheter." -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "flere" @@ -3854,15 +3866,15 @@ msgstr "Standardvaluta brukt for denne leverandøren" msgid "Company Name" msgstr "Bedriftsnavn" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "På lager" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "Ukjent" @@ -4186,101 +4198,105 @@ msgstr "" msgid "Config type" msgstr "" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "Ordrereferanse" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "Opprettet av" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "Ordre" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "Intern del" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "Fullført" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Innkjøpsordre" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "Innkjøpsordre" msgid "Sales Order" msgstr "Salgsordre" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "Returordre" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "Total pris" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "Total pris for denne ordren" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "Ordrevaluta" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "Valuta for denne ordren (la stå tom for å bruke firmastandard)" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "Kontakten samsvarer ikke med valgt firma" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "Ordrebeskrivelse (valgfritt)" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "Velg prosjektkode for denne ordren" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "Lenke til ekstern side" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Måldato" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Forventet dato for levering av ordre. Bestillingen vil være forfalt etter denne datoen." -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "Sendt dato" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "Dato bestillingen ble sendt" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "Bruker eller gruppe ansvarlig for ordren" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "Kontaktpunkt for denne ordren" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "Selskapsadresse for denne ordren" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "Ordrereferanse" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "Status" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "Status for innkjøpsordre" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "Firma som varene blir bestilt fra" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "Leverandørreferanse" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "Leverandørens ordrereferanse" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "mottatt av" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "Dato ordre ble fullført" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "Destinasjon" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "Delleverandør må matche PO-leverandør" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "Mengde må være positiv" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Kunde" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "Firma som varene selges til" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "Kundereferanse " -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "Kundens ordrereferanse" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "Forsendelsesdato" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "sendt av" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "Kun en åpen ordre kan merkes som fullført" -#: order/models.py:1241 +#: order/models.py:1283 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Bestillingen kan ikke fullføres da det finnes ufullstendige forsendelser" -#: order/models.py:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1251 +#: order/models.py:1293 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:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "Antall" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "Linjereferanse" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "Linjenotater" -#: order/models.py:1595 +#: order/models.py:1637 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:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "Linjeelementbeskrivelse (valgfritt)" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "Ytterligere kontekst for denne linjen" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "Enhetspris" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "Delens leverandør må samsvare med leverandør" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "Leverandørdel" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "Mottatt" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "Antall enheter mottatt" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "Innkjøpspris" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "Enhet-innkjøpspris" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtuell del kan ikke tildeles salgsordre" -#: order/models.py:1847 +#: order/models.py:1924 msgid "Only salable parts can be assigned to a sales order" msgstr "Kun salgbare deler kan tildeles en salgsordre" -#: order/models.py:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "Salgspris" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "Enhets-salgspris" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "Sendt" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "Sendt antall" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "Dato for forsendelse" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "Leveringsdato" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "Dato for levering av forsendelse" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "Sjekket Av" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "Brukeren som sjekket forsendelsen" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Forsendelse" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "Forsendelsesnummer" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "Sporingsnummer" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "Sporingsinformasjon for forsendelse" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "Fakturanummer" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "Referansenummer for tilknyttet faktura" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "Forsendelsen er allerede sendt" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "Forsendelsen har ingen tildelte lagervarer" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "Lagervarer er ikke blitt tildelt" -#: order/models.py:2218 +#: order/models.py:2301 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:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "Kan ikke tildele lagerbeholdning til en linje uten en del" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tildelingsantall kan ikke overstige tilgjengelig lagerbeholdning" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "Antall må være 1 for serialisert lagervare" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "Salgsordre samsvarer ikke med forsendelse" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "Forsendelsen samsvarer ikke med salgsordre" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "Linje" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "Forsendelsesreferanse for salgsordre" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "Artikkel" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "Velg lagervare å tildele" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "Angi lagertildelingsmengde" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "Returordre-referanse" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "Firmaet delen skal returneres fra" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "Returordrestatus" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "Velg artikkel som skal returneres fra kunde" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "Mottatt Dato" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "Datoen denne returartikkelen ble mottatt" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "Utfall" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "Utfall for dette linjeelementet" -#: order/models.py:2735 +#: order/models.py:2818 msgid "Cost associated with return or repair for this line item" msgstr "Kostnad forbundet med retur eller reparasjon for dette linjeelementet" -#: order/models.py:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "Linjeelementer" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "Leverandørnavn" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "Ordren kan ikke kanselleres" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "Tillat ordre å lukkes med ufullstendige linjeelementer" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "Ordren har ufullstendige linjeelementer" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "Ordren er ikke åpen" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "Innkjøpsvaluta" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "SKU-kode" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "Internt delnummer" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "Leverandørdel må angis" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "Innkjøpsordre må angis" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "Leverandør må samsvare med innkjøpsordre" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "Innkjøpsordre må samsvare med leverandør" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "Ordrelinje" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "Linjeelementet samsvarer ikke med innkjøpsordre" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "Velg lagerplassering for mottatte enheter" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "Angi batchkode for innkommende lagervarer" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "Utløpsdato" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "Angi serienummer for innkommende lagervarer" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "Strekkode" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "Skannet strekkode" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "Strekkode allerede i bruk" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "Heltallsverdi må angis for sporbare deler" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "Linjeelementer må være oppgitt" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "Målplassering må angis" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "Angitte strekkodeverdier må være unike" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "Fullførte forsendelser" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "Valuta for salgspris" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "Ingen forsendelsesopplysninger oppgitt" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "Linjeelement er ikke knyttet til denne ordren" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "Mengden må være positiv" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "Skriv inn serienummer for å tildele" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "Forsendelsen er allerede sendt" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "Forsendelsen er ikke knyttet til denne ordren" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "Ingen treff funnet for følgende serienummer" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "Returordrelinje" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "Linjeelementet samsvarer ikke med returordre" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "Linjeelementet er allerede mottatt" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "Artikler kan bare mottas mot ordrer som pågår" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "Valuta for linje" @@ -5142,24 +5174,24 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Delkategori" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "Delkategorier" @@ -5191,7 +5223,7 @@ msgstr "Standard nøkkelord for deler i denne kategorien" msgid "Icon" msgstr "Ikon" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "Ikon (valgfritt)" @@ -5200,8 +5232,8 @@ msgstr "Ikon (valgfritt)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Du kan ikke gjøre denne delkategorien strukturell fordi noen deler allerede er tilordnet den!" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "Deler" @@ -5316,7 +5348,7 @@ msgstr "Del-nøkkelord for å øke synligheten i søkeresultater" msgid "Part category" msgstr "Delkategori" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5357,7 +5389,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:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "Minimal lagerbeholdning" @@ -5433,847 +5465,867 @@ msgstr "Eier ansvarlig for denne delen" msgid "Last Stocktake" msgstr "Siste lagertelling" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "Selg flere" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "Valuta som brukes til å bufre prisberegninger" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "Minimal BOM-kostnad" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "Minste kostnad for komponentdeler" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "Maksimal BOM-kostnad" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "Maksimal kostnad for komponentdeler" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "Minimal innkjøpskostnad" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "Minimal historisk innkjøpskostnad" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "Maksimal innkjøpskostnad" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "Maksimal historisk innkjøpskostnad" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "Minimal intern pris" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "Minimal kostnad basert på interne prisbrudd" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "Maksimal intern pris" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "Maksimal kostnad basert på interne prisbrudd" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "Minimal leverandørpris" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "Minimumspris for del fra eksterne leverandører" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "Maksimal leverandørpris" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "Maksimalpris for del fra eksterne leverandører" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "Minimal Variantkostnad" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "Beregnet minimal kostnad for variantdeler" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "Maksimal Variantkostnad" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "Beregnet maksimal kostnad for variantdeler" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "Minimal kostnad" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "Overstyr minstekostnad" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "Maksimal kostnad" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "Overstyr maksimal kostnad" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "Beregnet samlet minimal kostnad" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "Beregnet samlet maksimal kostnad" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "Minimal salgspris" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "Minimal salgspris basert på prisbrudd" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "Maksimal Salgspris" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "Maksimal salgspris basert på prisbrudd" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "Minimal Salgskostnad" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "Minimal historisk salgspris" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "Maksimal Salgskostnad" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "Maksimal historisk salgspris" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "Del for varetelling" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "Antall" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "Antall individuelle lagerenheter på tidspunkt for varetelling" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Dato" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "Dato for utført lagertelling" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "Flere notater" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "Bruker som utførte denne lagertellingen" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "Minimal lagerkostnad" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "Estimert minimal kostnad for lagerbeholdning" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "Maksimal lagerkostnad" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "Estimert maksimal kostnad for lagerbeholdning" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "Rapport" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "Lagertellingsrapportfil (generert internt)" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "Antall deler" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "Antall deler dekket av varetellingen" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "Bruker som forespurte varetellingsrapporten" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "Valg må være unike" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "Testnavn" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "Angi et navn for testen" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "Testbeskrivelse" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "Legg inn beskrivelse for denne testen" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "Aktivert" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "Påkrevd" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "Er det påkrevd at denne testen bestås?" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "Krever verdi" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "Krever denne testen en verdi når det legges til et testresultat?" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "Krever vedlegg" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "Krever denne testen et filvedlegg når du legger inn et testresultat?" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "Valg" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "Sjekkboksparameter kan ikke ha enheter" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "Sjekkboksparameter kan ikke ha valg" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "Navn på parametermal må være unikt" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "Parameternavn" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "Fysisk enheter for denne parameteren" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "Parameterbeskrivelse" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "Sjekkboks" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "Er dette parameteret en sjekkboks?" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "Gyldige valg for denne parameteren (kommaseparert)" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "Ugyldig valg for parameterverdi" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "Overordnet del" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "Parametermal" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "Parameterverdi" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "Standardverdi" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "Standard Parameterverdi" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "Velg overordnet del" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "Underordnet del" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "Velg del som skal brukes i BOM" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "BOM-antall for denne BOM-artikkelen" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "Denne BOM-artikkelen er valgfri" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Denne BOM-artikkelen er forbruksvare (den spores ikke i produksjonsordrer)" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "Svinn" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Forventet produksjonssvinn (absolutt eller prosent)" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "BOM-artikkelreferanse" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "BOM-artikkelnotater" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "Kontrollsum" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "BOM-linje kontrollsum" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "Godkjent" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "Denne BOM-artikkelen er godkjent" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "Arves" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Denne BOM-artikkelen er arvet fra stykkliste for variantdeler" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Lagervarer for variantdeler kan brukes for denne BOM-artikkelen" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "Antall må være heltallsverdi for sporbare deler" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "Underordnet del må angis" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "BOM-artikkel erstatning" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "Erstatningsdel kan ikke være samme som hoveddelen" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "Overordnet BOM-artikkel" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "Erstatningsdel" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "Del 1" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "Del 2" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "Velg relatert del" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "Del-forhold kan ikke opprettes mellom en del og seg selv" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "Duplikatforhold eksisterer allerede" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "Underkategorier" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "Innkjøpsvaluta for lagervaren" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "Original Del" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "Velg original del å duplisere" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "Kopier Bilde" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "Kopier bilde fra originaldel" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "Kopier Stykkliste" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "Kopier stykkliste fra original del" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "Kopier parametere" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "Kopier parameterdata fra originaldel" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "Kopier notater" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "Kopier notater fra originaldel" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:537 +#: part/serializers.py:550 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:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "Innledende lagerplassering" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "Angi initiell lagerplasering for denne delen" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "Velg leverandør (eller la stå tom for å hoppe over)" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "Velg produsent (eller la stå tom for å hoppe over)" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "Produsentens delenummer" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "Valgt firma er ikke en gyldig leverandør" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "Valgt firma er ikke en gyldig produsent" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "Produsentdel som matcher dette MPN-et, finnes allerede" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "Leverandørdel som matcher denne SKU-en, finnes allerede" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "Kategorinavn" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "Produseres" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "Lagervarer" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "Lagervarer" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "Leverandører" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Total lagerbeholdning" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "Dupliser del" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "Kopier innledende data fra en annen del" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "Lag en del med innledende lagermengde" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "Leverandøropplysninger" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "Legg til innledende leverandørinformasjon for denne delen" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "Kopier kategoriparametre" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "Kopier parametermaler fra valgt delkategori" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "Eksisterende bilde" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "Filnavn for et eksisterende del-bilde" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "Bildefilen finnes ikke" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Begrens lagerbeholdningsrapport til en bestemt del og enhver variant av delen" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Begrens lagerbeholdningsrapport til en bestemt delkategori og alle underkategorier" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Begrens lagerbeholdningsrapport til en bestemt plasering og eventuelle underplasseringer" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "Ekskluder ekstern lagerbeholdning" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "Ekskluder lagervarer i eksterne lokasjoner" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "Generer rapport" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "Genererer rapport som inneholder beregnede lagerdata" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "Oppdater deler" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "Oppdater spesifiserte deler med beregnede lagerbeholdningsdata" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "Lagerbeholdningsfunksjonalitet er ikke aktivert" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "Sjekk av bakgrunnsarbeider mislyktes" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "Minstepris" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "Overstyr beregnet verdi for minimumspris" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "Valuta for minstepris" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "Makspris" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "Overstyr beregnet verdi for maksimal pris" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "Valuta for maksimal pris" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "Oppdater" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "Oppdater priser for denne delen" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, 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:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "Minsteprisen kan ikke være større enn maksimal pris" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "Maksimal pris kan ikke være mindre enn minstepris" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "Kan Produsere" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "Velg del å kopiere BOM fra" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "Fjern eksisterende data" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "Fjern eksisterende BOM-artikler før kopiering" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "Inkluder arvede" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "Inkluder BOM-artikler som er arvet fra maldeler" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "Hopp over ugyldige rader" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "Aktiver dette alternativet for å hoppe over ugyldige rader" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "Kopier erstatningsdeler" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopier erstatningsdeler når BOM-elementer dupliseres" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "Gir innebygd støtte for strekkoder" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "Gir innebygd støtte for strekkoder" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "Gir innebygd støtte for å skrive ut PDF-etiketter" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "Feilsøkingsmodus" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "Aktiver feilsøkingsmodus - returnerer rå HTML i stedet for PDF" @@ -6857,43 +6958,43 @@ msgstr "Hopp over etiketter" msgid "Skip this number of labels when printing label sheets" msgstr "Hopp over dette antallet etiketter når det skrives ut etiketterark" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "Kantlinjer" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "Skriv ut en kant rundt hver etikett" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "Liggende" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "Skriv ut etikett-arket i liggende modus" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "InvenTree etikett-ark skriver" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "Sprer ut flere etiketter på ett enkelt ark" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "Etiketten er for stor for sidestørrelse" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "Ingen etiketter ble generert" @@ -7046,21 +7147,21 @@ msgstr "Utvidelse" msgid "Method" msgstr "Metode" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "Ingen forfatter funnet" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "Utvidensen '{p}' er ikke kompatibel med nåværende InvenTree-versjon {v}" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "Utvidelsen krever minst versjon {v}" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "Utvidelsen krever maks versjon {v}" @@ -7345,7 +7446,7 @@ msgstr "Filtre" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "" @@ -7357,56 +7458,56 @@ msgstr "Sidestørrelse for PDF-rapporter" msgid "Render report in landscape orientation" msgstr "Generer rapport i landskapsorientering" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "Bredde [mm]" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "Etikettbredde, spesifisert i mm" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "Høyde [mm]" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "Etiketthøyde, spesifisert i mm" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "Snutt" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "Rapportsnuttfil" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "Filbeskrivelse for snutt" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "Ressurs" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "Rapportressursfil" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "Ressursfilbeskrivelse" @@ -7694,7 +7795,7 @@ msgstr "Standard ikom for alle plasseringer som ikke har satt et ikon (valgfritt msgid "Stock Location" msgstr "Lagerplassering" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "Lagerplasseringer" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "Ekstern" @@ -8599,115 +8700,115 @@ msgstr "Slett" msgid "Permission to delete items" msgstr "Tillatelse til å slette elementer" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "Administrator" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "Lagertelling" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "Innkjøpsordrer" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "Salgsordre" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "Returordrer" diff --git a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po index c420b87e64..33ef051e7d 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:14\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "Nie udało się przeliczyć {original} na {unit}" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "Podano nieprawidłową ilość" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "Szczegóły błędu można znaleźć w panelu administracyjnym" @@ -108,9 +108,9 @@ msgstr "Wprowadź dane" msgid "Invalid decimal value" msgstr "Niepoprawna wartość dziesiętna" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "Odniesienie musi być zgodne z wymaganym wzorem" msgid "Reference number is too large" msgstr "Numer odniesienia jest zbyt duży" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "Duplikaty nazw nie mogą istnieć pod tym samym rodzicem" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "Błędny wybór" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "Nazwa" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "Opis" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "Opis (opcjonalny)" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "Ścieżka" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "Notatki Markdown (opcjonalne)" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "Dane kodu kreskowego" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "Dane kodu kreskowego stron trzecich" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "Hasz kodu kreskowego" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "Unikalny hasz danych kodu kreskowego" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "Znaleziono istniejący kod kreskowy" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "Niepowodzenie zadania" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "Zadanie pracownika w tle '{f}' nie powiodło się po próbach {n}" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "Błąd serwera" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "Błąd został zapisany w logach serwera." -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "Numer musi być prawidłowy" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "Waluta" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "Wybierz walutę z dostępnych opcji" @@ -526,29 +526,29 @@ msgstr "Przedawnienie nie może przekroczyć 100 %" msgid "Invalid value for overage" msgstr "Nieprawidłowa wartość przedawnienia" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Status zamówienia" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "Budowa nadrzędna" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "Obejmuje warianty" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "Obejmuje warianty" msgid "Part" msgstr "Komponent" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "Kategoria" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "Budowa poprzednika" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "Przypisane do mnie" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Dodane przez" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "Stworzony przed" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "Stworzony po" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "Ma datę rozpoczęcia" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "Data rozpoczęcia przed" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "Data rozpoczęcia po" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "Posiada docelową datę" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "Data docelowa przed" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "Docelowa data po" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "Zakończone przed" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "Zakończone po" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "Minimalna data" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "Maksymalna data" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "Wyklucz drzewo" @@ -646,16 +646,16 @@ msgstr "Wyklucz drzewo" msgid "Build must be cancelled before it can be deleted" msgstr "Kompilacja musi zostać anulowana, zanim będzie mogła zostać usunięta" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "Materiał eksploatacyjny" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "Opcjonalne" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "Złożenie" @@ -663,15 +663,15 @@ msgstr "Złożenie" msgid "Tracked" msgstr "Śledzony" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "Testowalne" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "Zaległe zamówienie" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "Przydzielono" @@ -682,52 +682,56 @@ msgstr "Przydzielono" msgid "Available" msgstr "Dostępne" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Zlecenie Budowy" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "Zlecenia budowy" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "Zbiór BOM nie został zatwierdzony" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "Zlecenie budowy nie może być utworzone dla nieaktywnej części" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "Zlecenie budowy nie może zostać utworzone dla odblokowanej części" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "Nieprawidłowy wybór kompilacji nadrzędnej" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "Odpowiedzialny użytkownik lub grupa muszą być określone" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "Nie można zmienić elementu kompletacji" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "Data docelowa musi być po dacie rozpoczęcia" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "Odwołanie do zamówienia wykonania" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "Odwołanie do zamówienia wykonania" msgid "Reference" msgstr "Referencja" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "Krótki opis produkcji (opcjonalny)" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Zamówienie budowy, do którego budowa jest przypisana" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "Wybierz część do budowy" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "Odwołanie do zamówienia sprzedaży" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "Zamówienie sprzedaży, do którego budowa jest przypisana" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "Lokalizacja źródła" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Wybierz lokalizację, z której pobrać element do budowy (pozostaw puste, aby wziąć z dowolnej lokalizacji)" -#: build/models.py:291 +#: build/models.py:299 +msgid "External Build" +msgstr "" + +#: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 msgid "Destination Location" msgstr "Lokalizacja docelowa" -#: build/models.py:296 +#: build/models.py:310 msgid "Select location where the completed items will be stored" msgstr "Wybierz lokalizację, w której będą przechowywane ukończone elementy" -#: build/models.py:300 +#: build/models.py:314 msgid "Build Quantity" msgstr "Ilość do stworzenia" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "Ilość przedmiotów do zbudowania" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "Ukończone elementy" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "Ilość produktów magazynowych które zostały ukończone" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "Status budowania" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "Kod statusu budowania" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "Kod partii" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "Kod partii dla wyjścia budowy" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "Data utworzenia" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "Data rozpoczęcia budowy" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "Zaplanowana data rozpoczęcia dla tego zamówienia budowy" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "Docelowy termin zakończenia" -#: build/models.py:350 +#: build/models.py:364 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:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "Data zakończenia" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "zrealizowane przez" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "Wydany przez" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "Użytkownik, który wydał to zamówienie" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Odpowiedzialny" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "Użytkownik lub grupa odpowiedzialna za te zlecenie produkcji" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "Link Zewnętrzny" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Link do zewnętrznego adresu URL" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "Priorytet budowy" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "Priorytet tego zamówienia produkcji" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Kod projektu" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "Kod projektu dla tego zlecenia produkcji" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "Nie udało się wyładować zadania, aby ukończyć alokację budowli" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Kolejność kompilacji {build} została zakończona" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "Kolejność kompilacji została zakończona" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "Należy podać numery seryjne dla lokalizowania części" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "Nie określono danych wyjściowych budowy" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "Budowanie wyjścia jest już ukończone" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "Skompilowane dane wyjściowe nie pasują do kolejności kompilacji" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "Ilość nie może być większa niż ilość wyjściowa" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Wyjście budowy {serial} nie przeszło wszystkich testów" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "Zbuduj obiekt" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "Zbuduj obiekt" msgid "Quantity" msgstr "Ilość" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "Wymagana ilość dla zlecenia produkcji" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Element kompilacji musi określać dane wyjściowe kompilacji, ponieważ część główna jest oznaczona jako możliwa do śledzenia" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Przydzielona ilość ({q}) nie może przekraczać dostępnej ilości zapasów magazynowych ({a})" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Pozycja magazynowa jest nadmiernie przydzielona" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Alokowana ilość musi być większa niż zero" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "Ilość musi wynosić 1 dla serializowanych zasobów" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "Wybrana pozycja magazynowa nie pasuje do pozycji w zestawieniu BOM" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "Element magazynowy" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "Lokalizacja magazynowania przedmiotu" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "Ilość zapasów do przydzielenia do produkcji" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "Zainstaluj do" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "Docelowa lokalizacja magazynowa przedmiotu" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "Nazwa komponentu" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "Numer seryjny" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "Lokalizacja" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "Automatycznie przydzielaj numery seryjne" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatycznie przydzielaj wymagane elementy z pasującymi numerami seryjnymi" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "Poniższe numery seryjne już istnieją lub są nieprawidłowe" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "Odrzuć przydziały" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "Zaakceptuj niekompletną alokację" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "Usuń produkcje, które nie zostały zakończone" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "Niedozwolone" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "Zaakceptuj jako zużyte przez zlecenie produkcji" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "Nadmierny przydział zasobów" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "Zaakceptuj nieprzydzielone" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Zaakceptuj, że przedmioty magazynowe nie zostały w pełni przypisane do tego zlecenia budowy" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "Wymagany stan nie został w pełni przypisany" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "Akceptuj niekompletne" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "" -#: build/serializers.py:945 +#: build/serializers.py:946 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "Towar musi znajdować się w magazynie" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Magazyn, z którego mają być pozyskane elementy (pozostaw puste, aby pobrać z dowolnej lokalizacji)" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "Wyklucz lokalizację" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "Wyklucz produkty magazynowe z wybranej lokalizacji" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Towary magazynowe w wielu lokalizacjach mogą być stosowane zamiennie" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "Zastępczy magazyn" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "Przedmiot opcjonalny" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "Możliwość śledzenia" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "Zezwalaj na warianty" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "Element BOM" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "W Zamówieniu" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "W produkcji" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "Dostępna ilość" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "" @@ -1429,544 +1441,544 @@ msgstr "" msgid "No plugin" msgstr "Brak wtyczki" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "Zaktualizowany" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "Data ostatniej aktualizacji" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "Unikalny kod projektu" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "Opis projektu" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "Ustawienia wartości" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "Wybrana wartość nie jest poprawną opcją" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "Wartość musi być wartością binarną" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "Wartość musi być liczbą całkowitą" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "Ciąg musi być unikatowy" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "Użytkownik" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "Cena" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "Punkt końcowy" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Aktywny" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "Sekret" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "Współdzielony sekret dla HMAC" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "Id wiadomości" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "Unikalny identyfikator dla tej wiadomości" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "Host, od którego otrzymano tę wiadomość" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "Nagłówek" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "Nagłówek tej wiadomości" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "Zawartość" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Łącze" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "Autor" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "Obraz" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "Załącznik" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "Brak pliku" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "Brak zewnętrznego odnośnika" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "Wybierz plik do załączenia" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "Komentarz" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "Wartość" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "Utworzony" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "Ostatnia aktualizacja" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Dane" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "Wynik" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "" @@ -1988,7 +2000,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "" @@ -2004,80 +2016,88 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "Jest uruchomiony" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "Oczekujce zadania" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "Zaplanowane zadania" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "Zadania zakończone błędem" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "ID zadania" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "Unikalny identyfikator zadania" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "Blokada" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "Czas blokady" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "Nazwa zadania" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "Funkcja" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "Nazwa funkcji" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "Argumenty" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "Argumenty zadania" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "Nazwa pliku" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2188,8 +2208,8 @@ msgstr "Jak często aktualizować kursy wymiany walut (ustaw zero aby wyłączy #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "dni" @@ -2417,8 +2437,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "Szablon" @@ -2431,8 +2451,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "Komponent" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "Części są domyślnie wirtualne" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "Pokaż powiązane części" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "Użyj cennika dostawcy" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "Nadpisanie historii zakupów" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "Ceny wewnętrzne" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "Włącz drukowanie etykiet" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "Włącz drukowanie etykiet z interfejsu WWW" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "DPI etykiety" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "Włącz raporty" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "Tryb Debugowania" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "Rozmiar strony" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "Domyślna wielkość strony dla raportów PDF" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "Producent" @@ -3546,8 +3558,8 @@ msgstr "Numer telefonu kontaktowego" msgid "Contact email address" msgstr "Kontaktowy adres e-mail" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "Kontakt" @@ -3591,7 +3603,7 @@ msgstr "Czy to przedsiębiorstwo produkuje części?" msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "Adres" @@ -3701,8 +3713,8 @@ msgstr "Wybierz część" msgid "Select manufacturer" msgstr "Wybierz producenta" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "" @@ -3730,7 +3742,7 @@ msgstr "Nazwa parametru" msgid "Parameter value" msgstr "Wartość parametru" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Jednostki" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "Dostawca" msgid "Select supplier" msgstr "Wybierz dostawcę" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "" @@ -3782,8 +3794,8 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "" msgid "Note" msgstr "Uwaga" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "koszt podstawowy" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "Opakowanie" @@ -3818,7 +3830,7 @@ msgstr "Ilość w opakowaniu" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "wielokrotność" @@ -3854,15 +3866,15 @@ msgstr "Domyślna waluta używana dla tego dostawcy" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "Na stanie" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "Liczba kopii do wydrukowania dla każdej etykiety" msgid "Connected" msgstr "Połączono" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "Nieznany" @@ -4186,101 +4198,105 @@ msgstr "" msgid "Config type" msgstr "" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "Numer zamówienia" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "Utworzony przez" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "Posiada ceny" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "Zamówienie" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "Komponent wewnętrzny" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "Zamówienie oczekujące" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "Zakończone" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Zlecenie zakupu" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "Zlecenie zakupu" msgid "Sales Order" msgstr "Zamówienie zakupu" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "Cena całkowita" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "Link do zewnętrznej witryny" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Data docelowa" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "Data wydania" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "Data wystawienia zamówienia" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "Odniesienie zamówienia" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "Status" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "Status zamówienia zakupu" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "odebrane przez" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "Przeznaczenie" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "Wartość musi być liczbą dodatnią" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Klient" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "" -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "Data wysyłki" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "wysłane przez" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1241 +#: order/models.py:1283 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1251 +#: order/models.py:1293 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "Ilość elementów" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "" -#: order/models.py:1595 +#: order/models.py:1637 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "Odebrane" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "Cena zakupu" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "Cena zakupu jednostkowego" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1847 +#: order/models.py:1924 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "Cena sprzedaży" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "Jednostkowa cena sprzedaży" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "Wysłane" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "Wysłana ilość" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "Data wysyłki" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "Sprawdzone przez" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "Użytkownik, który sprawdził tę wysyłkę" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Przesyłka" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "Numer przesyłki" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "Numer śledzenia" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "Informacje o śledzeniu przesyłki" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "Przesyłka została już wysłana" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2218 +#: order/models.py:2301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "Linia" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "Komponent" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2735 +#: order/models.py:2818 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "Zamówienie nie może zostać anulowane" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "Zlecenie zakupu musi być określone" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "Dostawca musi być zgodny ze zleceniem zakupu" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "Zlecenie zakupu musi być zgodne z dostawcą" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "Pozycja nie pasuje do zlecenia zakupu" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "Data ważności" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "Kod kreskowy" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "" @@ -5142,24 +5174,24 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Kategoria komponentu" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "Kategorie części" @@ -5191,7 +5223,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "" @@ -5200,8 +5232,8 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "Części" @@ -5316,7 +5348,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5357,7 +5389,7 @@ msgstr "Domyślne wygasanie" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "Minimalny stan magazynowy" @@ -5433,847 +5465,867 @@ msgstr "" msgid "Last Stocktake" msgstr "Ostatnia inwentaryzacja" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "Sprzedaj wiele" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Data" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "Nazwa testu" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "Testowy opis" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "Wprowadź opis do tego testu" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "Aktywne" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "Wymagane" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "Wymaga wartości" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "Wymaga załącznika" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "Część nadrzędna" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "Wartość parametru" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "Wartość domyślna" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "Wybierz część nadrzędną" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "Podczęść" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "Ten element BOM jest opcjonalny" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "Notatki pozycji BOM" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "Suma kontrolna" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "Zatwierdzone" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "Część zastępcza" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "Część 1" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "Część 2" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "Wybierz powiązaną część" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "Podkategorie" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "Waluta zakupu tego towaru" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "Kopiuj obraz" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "Kopiuj BOM" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "Kopiuj parametry" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:537 +#: part/serializers.py:550 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "Towary" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "Towary" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "Dostawcy" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "Duplikuj część" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "Sprawdzenie robotnika w tle nie powiodło się" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "Usuń istniejące dane" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "Pomiń nieprawidłowe wiersze" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "Włącz tę opcję, aby pominąć nieprawidłowe wiersze" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "Tryb Debugowania" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -6857,43 +6958,43 @@ msgstr "" msgid "Skip this number of labels when printing label sheets" msgstr "" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "" @@ -7046,21 +7147,21 @@ msgstr "Wtyczka" msgid "Method" msgstr "Metoda" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "Nie znaleziono autora" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7345,7 +7446,7 @@ msgstr "Filtry" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "" @@ -7357,56 +7458,56 @@ msgstr "Domyślna wielkość strony dla raportów PDF" msgid "Render report in landscape orientation" msgstr "Renderuj raport w orientacji poziomej" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "Szerokość [mm]" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "Wysokość [mm]" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "Wycinek" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "" @@ -7694,7 +7795,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "Lokacje stanu magazynowego" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "" @@ -8599,115 +8700,115 @@ msgstr "Usuń" msgid "Permission to delete items" msgstr "Uprawnienie do usuwania przedmiotów" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "Zlecenia zakupu" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "" diff --git a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po index ae61d3fcbc..da5a9fcef1 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:14\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Portuguese\n" "Language: pt_PT\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "Não foi possível converter {original} para {unit}" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "Quantidade fornecida inválida" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "Detalhes do erro podem ser encontrados no painel de administrador" @@ -108,9 +108,9 @@ msgstr "Insira uma Data" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "A referência deve corresponder ao padrão exigido" msgid "Reference number is too large" msgstr "O número de referência é muito grande" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "Nomes duplicados não podem existir sob o mesmo parental" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "Escolha inválida" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "Nome" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "Descrição" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "Descrição (opcional)" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "Caminho" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "Notas Markdown (opcional)" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "Dados de código de barras" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "Dados de código de barras de terceiros" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "Hash de código de barras" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "Hash exclusivo de dados de código de barras" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "Código de barras existente encontrado" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "Erro de servidor" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "Log de erro salvo pelo servidor." -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "Preicsa ser um numero valido" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "Moeda" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "Selecione a Moeda nas opções disponíveis" @@ -526,29 +526,29 @@ msgstr "Excedente não deve exceder 100%" msgid "Invalid value for overage" msgstr "Valor de excedente inválido" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Situação do pedido" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "Produção Progenitor" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "" msgid "Part" msgstr "Peça" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "Categoria" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Emitido por" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "" @@ -646,16 +646,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Produção deve ser cancelada antes de ser deletada" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "Consumível" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "Opcional" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "Montagem" @@ -663,15 +663,15 @@ msgstr "Montagem" msgid "Tracked" msgstr "Monitorado" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "Alocado" @@ -682,52 +682,56 @@ msgstr "Alocado" msgid "Available" msgstr "Disponível" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Ordem de Produção" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "Ordens de Produções" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "Escolha de Produção parental inválida" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "Usuário ou grupo responsável deve ser especificado" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "Peça da ordem de produção não pode ser alterada" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "Referência do pedido de produção" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "Referência do pedido de produção" msgid "Reference" msgstr "Referência" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "Breve descrição da produção (opcional)" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Pedido de produção para qual este serviço está alocado" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "Selecionar peça para produção" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "Referência do pedido de venda" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "Pedido de Venda para qual esta produção está alocada" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "Local de Origem" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Selecione a localização para pegar do estoque para esta produção (deixe em branco para tirar a partir de qualquer local de estoque)" -#: build/models.py:291 +#: build/models.py:299 +msgid "External Build" +msgstr "" + +#: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 msgid "Destination Location" msgstr "Local de Destino" -#: build/models.py:296 +#: build/models.py:310 msgid "Select location where the completed items will be stored" msgstr "Selecione o local onde os itens concluídos serão armazenados" -#: build/models.py:300 +#: build/models.py:314 msgid "Build Quantity" msgstr "Quantidade de Produção" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "Número de itens em estoque para produzir" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "Itens concluídos" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "Número de itens em estoque concluídos" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "Progresso da produção" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "Código de situação da produção" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "Código de Lote" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "Código do lote para esta saída de produção" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "Criado em" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "Data alvo final" -#: build/models.py:350 +#: build/models.py:364 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:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "Data de conclusão" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "Concluído por" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "Emitido por" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "Usuário que emitiu este pedido de produção" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Responsável" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "Usuário ou grupo responsável para este pedido de produção" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "Link Externo" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Link para URL externa" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "Prioridade de Produção" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "Prioridade deste pedido de produção" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Código do projeto" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "Código do projeto para este pedido de produção" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "Falha ao descarregar tarefa para concluir alocações de construção" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "O Pedido de produção {build} foi concluído!" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "Um pedido de produção foi concluído" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "Números de série devem ser fornecidos para peças rastreáveis" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "Nenhuma saída de produção especificada" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "Saída de produção já completada" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "Saída da produção não corresponde ao Pedido de Produção" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "Quantidade deve ser maior que zero" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "Quantidade não pode ser maior do que a quantidade de saída" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "O item de produção {serial} não passou todos os testes necessários" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "Item da linha de Produção" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "Objeto de produção" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "Objeto de produção" msgid "Quantity" msgstr "Quantidade" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "Quantidade necessária para o pedido de produção" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Item de produção deve especificar a saída, pois peças mestres estão marcadas como rastreáveis" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Quantidade alocada ({q}) não deve exceder a quantidade disponível em estoque ({a})" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "O item do estoque está sobre-alocado" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Quantidade alocada deve ser maior que zero" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "Quantidade deve ser 1 para estoque serializado" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "Item estoque selecionado não coincide com linha da LDM" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "Item de estoque" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "Origem do item em estoque" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "Quantidade do estoque para alocar à produção" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "Instalar em" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "Destino do Item do Estoque" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "Nome da Peça" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "Saída da Produção" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "Saída de produção não coincide com a produção progenitora" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "Peça de saída não coincide com a peça da ordem de produção" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "Esta saída de produção já foi concluída" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "A saída de produção não está completamente alocada" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "Entre a quantidade da saída de produção" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "Quantidade inteira necessária para peças rastreáveis" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Quantidade inteira necessária, pois a lista de materiais contém peças rastreáveis" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "Números de Série" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "Digite os números de série para saídas de produção" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "Local" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "Local de estoque para a produção" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "Alocar Números de Série Automaticamente" -#: build/serializers.py:407 +#: build/serializers.py:408 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:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "Os seguintes números de série já existem ou são inválidos" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "Uma lista de saídas de produção deve ser fornecida" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "Local de estoque para saídas recicladas" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "Descartar alocações" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "Descartar quaisquer alocações de estoque para saídas sucateadas" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "Motivo para sucatear saída(s) de produção" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "Local para saídas de produção concluídas" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "Aceitar Alocação Incompleta" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "Concluir saídas se o estoque não tiver sido totalmente alocado" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "Consumir Estoque Alocado" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "Consumir qualquer estoque que já tenha sido alocado para esta produção" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "Remover Saídas Incompletas" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "Excluir quaisquer saídas de produção que não tenham sido completadas" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "Não permitido" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "Aceitar conforme consumido por esta ordem de produção" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "Desatribua antes de completar este pedido de produção" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "Estoque sobrealocado" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Como deseja manejar itens de estoque extras atribuídos ao pedido de produção" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "Alguns itens de estoque foram sobrealocados" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "Aceitar não alocados" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Aceitar que os itens de estoque não foram totalmente alocados para esta produção" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "Estoque obrigatório não foi totalmente alocado" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "Aceitar Incompleto" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "Aceitar que o número requerido de saídas de produção não foi concluído" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "Quantidade de produção requerida não foi concluída" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "Pedido de produção tem saídas incompletas" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "Linha de produção" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "Saída da Produção" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "Saída de produção deve indicar a mesma produção" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "Item da linha de produção" -#: build/serializers.py:945 +#: build/serializers.py:946 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:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "Item deve estar em estoque" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantidade disponível ({q}) excedida" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "Saída de produção deve ser definida para alocação de peças rastreadas" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Saída de produção deve ser definida para alocação de peças não rastreadas" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "Alocação do Item precisa ser fornecida" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Local de estoque onde peças serão extraídas (deixar em branco para qualquer local)" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "Local não incluso" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "Não incluir itens de estoque deste local" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "Estoque permutável" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Itens de estoque em múltiplos locais pode ser permutável" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "Substituir Estoque" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "Permitir alocação de peças substitutas" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "Itens opcionais" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "Alocar itens LDM opcionais para o pedido de produção" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "Falha ao iniciar tarefa de auto-alocação" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "Fornecedor da Peça" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "Quantidade Alocada" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "Rastreável" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "Permitir variações" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "Item LDM" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "Estoque Alocado" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "No pedido" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "Em Produção" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "Estoque Disponível" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "" @@ -1429,544 +1441,544 @@ msgstr "Nenhum código de moeda válido foi fornecido" msgid "No plugin" msgstr "Sem extensão" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "Atualizado" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "Tempo da última atualização" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "Código único do projeto" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "Descrição do projeto" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "Usuário ou grupo responsável por este projeto" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "Valor da Configuração" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "Valor escolhido não é uma opção válida" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "Valor deve ser um valor booleano" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "Valor deve ser um número inteiro" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "A frase senha deve ser diferenciada" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "Usuario" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "Quantidade de Parcelamentos" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "Preço" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "Preço unitário na quantidade especificada" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "Ponto final" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "Ponto final em qual o gancho web foi recebido" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "Nome para este webhook" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Ativo" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "Este gancho web está ativo" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "Token de acesso" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "Segredo" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "Segredo compartilhado para HMAC" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "ID da Mensagem" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "Identificador exclusivo desta mensagem" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "Servidor" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "Servidor do qual esta mensagem foi recebida" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "Cabeçalho" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "Cabeçalho da mensagem" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "Corpo" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "Corpo da mensagem" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "Ponto do qual esta mensagem foi recebida" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "Trabalhado em" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "O trabalho desta mensagem foi concluído?" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "Título" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Ligação" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "Publicado" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "Autor" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "Resumo" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "Lida" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "Esta notícia do item foi lida?" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "Imagem" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "Arquivo de imagem" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "Nome da unidade deve ser um identificador válido" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "Nome da unidade" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "Símbolo" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "Símbolo de unidade opcional" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "Definição" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "Definição de unidade" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "Anexo" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "Arquivo ausente" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "Link externo não encontrado" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "Selecione arquivo para anexar" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "Comentario" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "Valor" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "Criado" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "Última atualização" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Dados" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "Contexto" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "Resultado" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "" @@ -1988,7 +2000,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:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "Itens Recebidos" @@ -2004,80 +2016,88 @@ msgstr "Os itens de um pedido de devolução foram recebidos" msgid "Error raised by plugin" msgstr "Erro criado pela extensão" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "Executando" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "Tarefas Pendentes" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "Tarefas Agendadas" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "Tarefas com Falhas" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "ID da Tarefa" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "ID Único da Tarefa" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "Bloquear" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "Tempo de bloqueio" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "Nome da tarefa" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "Função" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "Nome da função" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "Argumentos" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "Argumentos da tarefa" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "Argumentos de Palavra-chave" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "Argumentos Palavra-chave da Tarefa" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "Nome do arquivo" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2188,8 +2208,8 @@ msgstr "Com que frequência atualizar as taxas de câmbio (defina como zero para #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "dias" @@ -2417,8 +2437,8 @@ msgstr "Copiar Parâmetros dos Modelos de Categoria" msgid "Copy category parameter templates when creating a part" msgstr "Copiar parâmetros do modelo de categoria quando criar uma peça" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "Modelo" @@ -2431,8 +2451,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:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "Componente" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "Peças são virtuais por padrão" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "Mostrar Importações em Visualizações" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "Exibir o assistente de importação em algumas visualizações de partes" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "Mostra peças relacionadas" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "Mostrar peças relacionadas para uma peça" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "Dados Iniciais de Estoque" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "Permitir Criação de estoque inicial quando adicional uma nova peça" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "Dados Iniciais de Fornecedor" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Permitir criação de dados iniciais de fornecedor quando adicionar uma nova peça" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "Formato de Exibição do Nome da Peça" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "Formato para exibir o nome da peça" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "Ícone de Categoria de Peça Padrão" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "Ícone padrão de categoria de peça (vazio significa sem ícone)" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "Forçar Unidades de Parâmetro" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "Se as unidades são fornecidas, os valores do parâmetro devem corresponder às unidades especificadas" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "Mínimo de Casas Decimais do Preço" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Mínimo número de casas decimais a exibir quando renderizar dados de preços" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "Máximo Casas Decimais de Preço" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Número máximo de casas decimais a exibir quando renderizar dados de preços" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "Usar Preços do Fornecedor" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Incluir quebras de preço do fornecedor nos cálculos de preços globais" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "Sobrescrever histórico de compra" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Histórico do pedido de compra substitui os intervalos dos preços do fornecedor" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "Usar Preços do Item em Estoque" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Usar preço inserido manualmente no estoque para cálculos de valores" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "Idade do preço do Item em Estoque" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Não incluir itens em estoque mais velhos que este número de dias no cálculo de preços" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "Usar Preço Variável" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "Incluir preços variáveis nos cálculos de valores gerais" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "Apenas Ativar Variáveis" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "Apenas usar peças variáveis ativas para calcular preço variáveis" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "Intervalo de Reconstrução de Preços" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "Número de dias antes da atualização automática dos preços das peças" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "Preços Internos" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "Habilitar preços internos para peças" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "Sobrepor Valor Interno" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "Se disponível, preços internos sobrepõe variação de cálculos de preço" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "Ativar impressão de etiquetas" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "Ativar impressão de etiqueta pela interface da internet" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "DPI da Imagem na Etiqueta" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Resolução de DPI quando gerar arquivo de imagens para fornecer à extensão de impressão de etiquetas" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "Habilitar Relatórios" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "Ativar geração de relatórios" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "Modo de depuração" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "Gerar relatórios em modo de depuração (saída HTML)" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "Relatório de erros" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "Registro de erros que ocorrem ao gerar relatórios" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "Tamanho da página" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "Tamanho padrão da página PDF para relatórios" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "Seriais Únicos Globais" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "Números de série para itens de estoque devem ser globalmente únicos" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "Preenchimento automático de Números Seriais" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "Preencher números de série automaticamente no formulário" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "Excluir Estoque Esgotado" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "Determina o comportamento padrão quando um item de estoque é esgotado" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "Modelo de Código de Lote" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "Modelo para gerar códigos de lote padrão para itens de estoque" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "Validade do Estoque" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "Ativar função de validade de estoque" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "Vender estoque expirado" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "Permitir venda de estoque expirado" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "Tempo de Estoque Inativo" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "Número de dias em que os itens em estoque são considerados obsoleto antes de vencer" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "Produzir Estoque Vencido" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "Permitir produção com estoque vencido" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "Controle de propriedade do estoque" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "Ativar controle de propriedade sobre locais e itens de estoque" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "Ícone padrão do local de estoque" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "Ícone padrão de local de estoque (vazio significa sem ícone)" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "Mostrar Itens de Estoque Instalados" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "Exibir itens de estoque instalados nas tabelas de estoque" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "Verificar BOM ao instalar itens" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Itens de estoque instalados devem existir na BOM para a peça parente" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "Permitir Transferência Fora do Estoque" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Permitir que os itens que não estão em estoque sejam transferidos entre locais de estoque" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Produção" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "Modelo necessário para gerar campo de referência do Pedido de Produção" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "Requer Proprietário Responsável" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "Um proprietário responsável deve ser atribuído a cada ordem" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "Bloquear até os Testes serem Aprovados" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "Mostrar informação de balanço da peça (se a funcionalidade de balanço estiver habilitada)" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "Comprimento da Tabela de Frases" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "Limite máximo de comprimento para frases exibidas nas visualizações de tabela" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "Receber relatório de erros" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "Receber notificações para erros do sistema" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "Últimas máquinas de impressão utilizadas" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "Salvar as últimas máquinas de impressão usadas para um usuário" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "Fabricante" @@ -3546,8 +3558,8 @@ msgstr "Número de telefone do contato" msgid "Contact email address" msgstr "Endereço de e-mail do contato" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "Contato" @@ -3591,7 +3603,7 @@ msgstr "Esta empresa fabrica peças?" msgid "Default currency used for this company" msgstr "Moeda padrão utilizada para esta empresa" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "Endereço" @@ -3701,8 +3713,8 @@ msgstr "Selecionar peça" msgid "Select manufacturer" msgstr "Selecionar fabricante" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "NPF" @@ -3730,7 +3742,7 @@ msgstr "Nome do parâmetro" msgid "Parameter value" msgstr "Valor do Parâmetro" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Unidades" @@ -3751,7 +3763,7 @@ 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:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "Fornecedor" msgid "Select supplier" msgstr "Selecione o fornecedor" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "Unidade de reserva de estoque fornecedor" @@ -3782,8 +3794,8 @@ msgstr "URL do link externo da peça do fabricante" msgid "Supplier part description" msgstr "Descrição da peça fornecedor" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "Descrição da peça fornecedor" msgid "Note" msgstr "Anotação" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "preço base" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "Taxa mínima (ex.: taxa de estoque)" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "Embalagem" @@ -3818,7 +3830,7 @@ msgstr "Quantidade de embalagens" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Quantidade total fornecida em um único pacote. Deixe em branco para itens únicos." -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "múltiplo" @@ -3854,15 +3866,15 @@ msgstr "Moeda padrão utilizada para este fornecedor" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "Em Estoque" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "Desconhecido" @@ -4186,101 +4198,105 @@ msgstr "" msgid "Config type" msgstr "" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "Referência do Pedido" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "Criado por" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "Pedido" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "Peça Interna" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "Concluído" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Pedido de Compra" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "Pedido de Compra" msgid "Sales Order" msgstr "Pedido de Venda" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "Devolver pedido" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "Preço Total" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "Preço total deste pedido" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "Moeda do pedido" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "Moeda para este pedido (deixe em branco para usar o padrão da empresa)" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "O contato não corresponde à empresa selecionada" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "Descrição do pedido (opcional)" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "Selecione o código do projeto para este pedido" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "Link para página externa" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Data alvo" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Data esperada para entrega do pedido. O Pedido estará atrasado após esta data." -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "Data de emissão" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "Dia que o pedido foi feito" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "Usuário ou grupo responsável para este pedido" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "Ponto de contato para este pedido" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "Endereço da empresa para este pedido" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "Referência do pedido" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "Situação" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "Situação do pedido de compra" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "Empresa da qual os itens estão sendo encomendados" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "Referencia do fornecedor" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "Código de referência do pedido fornecedor" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "recebido por" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "Dia que o pedido foi concluído" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "Destino" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "Fornecedor de peça deve corresponder a fornecedor da OC" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "Quantidade deve ser um número positivo" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Cliente" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "Empresa para qual os itens foi vendidos" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "Referência do Cliente " -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "Código de Referência do pedido do cliente" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "Data de Envio" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "enviado por" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "Apenas um pedido aberto pode ser marcado como completo" -#: order/models.py:1241 +#: order/models.py:1283 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:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1251 +#: order/models.py:1293 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:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "Quantidade do item" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "Referência do Item em Linha" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "Observações do Item de Linha" -#: order/models.py:1595 +#: order/models.py:1637 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:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "Descrição item de linha (opcional)" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "Contexto adicional para esta linha" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "Preço Unitário" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "A peça do fornecedor deve corresponder ao fornecedor" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "Fornecedor da Peça" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "Recebido" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "Número de itens recebidos" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "Preço de Compra" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "Preço unitário de compra" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "Peça virtual não pode ser atribuída a um pedido de venda" -#: order/models.py:1847 +#: order/models.py:1924 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:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "Preço de Venda" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "Preço de venda unitário" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "Enviado" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "Quantidade enviada" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "Data do envio" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "Data de Entrega" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "Data da entrega do envio" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "Verificado por" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "Usuário que verificou esta remessa" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Remessa" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "Número do Envio" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "Número de Rastreamento" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "Informação de rastreamento da remessa" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "Número da Fatura" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "Número de referência para fatura associada" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "O pedido já foi enviado" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "Remessa não foi alocada nos itens de estoque" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "O item do estoque não foi atribuído" -#: order/models.py:2218 +#: order/models.py:2301 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:2221 +#: order/models.py:2304 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:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A quantidade de alocação não pode exceder a quantidade em estoque" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "Quantidade deve ser 1 para item de estoque serializado" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "Pedidos de venda não coincidem com a remessa" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "Remessa não coincide com pedido de venda" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "Linha" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "Referência de remessa do pedido de venda" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "Selecione o item de estoque para alocar" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "Insira a quantidade de atribuição de estoque" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "Referência de Pedidos de Devolução" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "Empresa da qual os itens estão sendo retornados" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "Estado do pedido de retorno" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "Selecione o item a ser devolvido pelo cliente" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "Data de Recebimento" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "Data que o pedido a ser devolvido foi recebido" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "Despesa/gastos" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "Gastos com esta linha de itens" -#: order/models.py:2735 +#: order/models.py:2818 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:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "Itens de linha" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "Nome do Fornecedor" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "Pedido não pode ser cancelado" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "Permitir que o pedido seja fechado com itens de linha incompletos" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "O pedido tem itens da linha incompletos" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "O pedido não está aberto" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "Moeda de preço de compra" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "Código (SKU)" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "Numero interno do produto" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "A peça do fornecedor deve ser especificada" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "O pedido de compra deve ser especificado" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "O fornecedor deve corresponder o pedido de compra" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "Pedido de compra deve corresponder ao fornecedor" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "Itens de linha" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "O item de linha não corresponde ao pedido de compra" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "Selecione o local de destino para os itens recebidos" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "Digite o código do lote para itens de estoque recebidos" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "Data de validade" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "Digite o número de série para itens de estoque recebidos" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "Código de barras" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "Código de barras lido" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "Código de barras já em uso" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "Quantidade inteira deve ser fornecida para peças rastreáveis" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "Itens de linha deve ser providenciados" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "Loca de destino deve ser especificado" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "Código de barras fornecido deve ser único" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "Envios concluídos" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "Moeda de preço de venda" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "Nenhum detalhe da remessa fornecido" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "Item de linha não está associado a este pedido" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "Quantidade deve ser positiva" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "Digite números de série para alocar" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "O pedido já foi enviado" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "O envio não está associado a este pedido" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "Nenhuma correspondência encontrada para os seguintes números de série" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "Devolver item do pedido" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "Item do pedido não bate com o pedido de devolução" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "Item do pedido já foi recebido" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "Itens só podem ser recebidos de pedidos em processamento" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "Tipo de moeda para o item do pedido" @@ -5142,24 +5174,24 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Categoria da Peça" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "Categorias de Peça" @@ -5191,7 +5223,7 @@ msgstr "Palavras-chave padrão para peças nesta categoria" msgid "Icon" msgstr "Ícone" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "Ícone (opcional)" @@ -5200,8 +5232,8 @@ msgstr "Ícone (opcional)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Você não pode tornar esta categoria em estrutural, pois, algumas partes já estão alocadas!" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "Peças" @@ -5316,7 +5348,7 @@ msgstr "Palavras-chave para melhorar a visibilidade nos resultados da pesquisa" msgid "Part category" msgstr "Categoria da Peça" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5357,7 +5389,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:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "Estoque Mínimo" @@ -5433,847 +5465,867 @@ msgstr "Proprietário responsável por esta peça" msgid "Last Stocktake" msgstr "Último Balanço" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "Venda múltipla" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "Moeda usada para armazenar os cálculos de preços" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "Custo Mínimo da LDM" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "Custo mínimo das peças componentes" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "Custo Máximo da LDM" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "Custo máximo das peças componentes" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "Custo Mínimo de Compra" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "Custo mínimo histórico de compra" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "Custo Máximo de Compra" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "Custo máximo histórico de compra" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "Preço Interno Mínimo" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "Custo mínimo baseado nos intervalos de preço internos" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "Preço Interno Máximo" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "Custo máximo baseado nos intervalos de preço internos" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "Preço Mínimo do Fornecedor" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "Preço mínimo da peça de fornecedores externos" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "Preço Máximo do Fornecedor" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "Preço máximo da peça de fornecedores externos" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "Custo Mínimo variável" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "Custo mínimo calculado das peças variáveis" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "Custo Máximo Variável" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "Custo máximo calculado das peças variáveis" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "Custo Mínimo" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "Sobrepor o custo mínimo" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "Custo Máximo" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "Sobrepor o custo máximo" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "Custo total mínimo calculado" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "Custo total máximo calculado" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "Preço Mínimo de Venda" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "Preço mínimo de venda baseado nos intervalos de preço" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "Preço Máximo de Venda" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "Preço máximo de venda baseado nos intervalos de preço" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "Custo Mínimo de Venda" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "Preço histórico mínimo de venda" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "Custo Máximo de Venda" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "Preço histórico máximo de venda" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "Peça para Balanço" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "Total de Itens" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "Número de entradas de estoques individuais no momento do balanço" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "Estoque total disponível no momento do balanço" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Data" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "Data de realização do balanço" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "Notas adicionais" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "Usuário que fez o balanço" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "Custo Mínimo de Estoque" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "Custo mínimo estimado de estoque disponível" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "Custo Máximo de Estoque" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "Custo máximo estimado de estoque disponível" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "Reportar" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "Arquivo de Relatório de Balanço (gerado internamente)" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "Contagem de Peças" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "Número de peças cobertas pelo Balanço" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "Usuário que solicitou este relatório de balanço" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "Escolhas devem ser únicas" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "Nome de Teste" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "Insira um nome para o teste" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "Descrição do Teste" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "Digite a descrição para este teste" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "Habilitado" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "Requerido" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "Este teste é obrigatório passar?" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "Requer Valor" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "Este teste requer um valor ao adicionar um resultado de teste?" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "Anexo obrigatório" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "Este teste requer um anexo ao adicionar um resultado de teste?" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "Escolhas" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "Parâmetros da caixa de seleção não podem ter unidades" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "Os parâmetros da caixa de seleção não podem ter escolhas" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "Nome do modelo de parâmetro deve ser único" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "Nome do Parâmetro" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "Unidades físicas para este parâmetro" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "Descrição do Parâmetro" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "Caixa de seleção" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "Este parâmetro é uma caixa de seleção?" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "Opções válidas para este parâmetro (separadas por vírgulas)" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "Escolha inválida para valor do parâmetro" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "Peça Paternal" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "Modelo de parâmetro" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "Valor do Parâmetro" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "Valor Padrão" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "Valor Padrão do Parâmetro" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "Selecione a Peça Parental" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "Sub peça" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "Selecionar peça a ser usada na LDM" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "Quantidade de LDM para este item LDM" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "Este item LDM é opcional" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Este item LDM é consumível (não é rastreado nos pedidos de construção)" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "Excedente" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantidade estimada de desperdício (absoluto ou porcentagem)" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "Referência do Item LDM" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "Notas do Item LDM" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "Soma de verificação" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "Soma de Verificação da LDM da linha" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "Validado" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "O item da LDM foi validado" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "Obtém herdados" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Este item da LDM é herdado por LDMs para peças variáveis" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Itens de estoque para as peças das variantes podem ser usados para este item LDM" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "Quantidade deve ser valor inteiro para peças rastreáveis" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "Sub peça deve ser especificada" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "Substituir Item da LDM" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "A peça de substituição não pode ser a mesma que a peça mestre" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "Item LDM Parental" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "Substituir peça" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "Parte 1" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "Parte 2" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "Selecionar Peça Relacionada" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "Relacionamento da peça não pode ser criada com ela mesma" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "Relação duplicada já existe" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "Categoria de peça pai" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "Sub-categorias" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "Moeda de compra deste item de estoque" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "Peça Original" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "Selecione a peça original para duplicar" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "Copiar imagem" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "Copiar imagem da peça original" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "Copiar LDM" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "Copiar lista de materiais da peça original" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "Copiar Parâmetros" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "Copiar dados do parâmetro da peça original" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "Copiar Notas" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "Copiar imagem da peça original" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "Quantidade Inicial de Estoque" -#: part/serializers.py:537 +#: part/serializers.py:550 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:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "Local Inicial do Estoque" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "Especifique o local do estoque inicial para esta Peça" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "Selecione o fornecedor (ou deixe em branco para pular)" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "Selecione fabricante (ou deixe em branco para pular)" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "Número de Peça do Fabricante" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "A empresa selecionada não é um fornecedor válido" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "A empresa selecionada não é um fabricante válido" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "A peça do fabricante que corresponde a essa MPN já existe" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "A peça do fornecedor que corresponde a essa SKU já existe" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "Nome da Categoria" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "Produzindo" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "Itens de Estoque" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "Itens de Estoque" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "Fornecedores" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Estoque Total" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "Peça duplicada" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "Copiar dados iniciais de outra peça" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "Estoque inicial" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "Criar peça com a quantidade inicial de estoque" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "Informações do Fornecedor" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "Adicionar informação inicial de fornecedor para esta peça" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "Copiar Parâmetros da Categoria" -#: part/serializers.py:1030 +#: part/serializers.py:1064 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:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "Imagem Existente" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "Nome de arquivo de uma imagem de peça existente" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "A imagem não existe" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Limitar o relatório de balanço a uma determinada peça e quaisquer peças variantes" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Limitar o relatório de balanço a uma determinada categoria, e qualquer peças filhas" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Limitar o relatório de balanço a um determinado local de estoque, e qualquer local filho" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "Excluir Estoque externo" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "Excluir itens de estoque em locais externos" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "Gerar relatório" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "Gerar arquivo de relatório contendo dados de estoque calculados" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "Atualizar Peças" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "Atualizar peças especificadas com dados de estoque calculados" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "Função de Balanço de Estoque não está ativada" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "Falha em verificar o histórico do trabalhador" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "Preço Mínimo" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "Sobrepor valor calculado para preço mínimo" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "Moeda do preço mínimo" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "Preço Máximo" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "Sobrepor valor calculado para preço máximo" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "Moeda do preço máximo" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "Atualizar" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "Atualizar preços desta peça" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, 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:1508 +#: part/serializers.py:1545 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:1511 +#: part/serializers.py:1548 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:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "Pode Produzir" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "Selecionar peça para copiar a LDM" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "Remover Dado Existente" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "Remova itens LDM existentes antes de copiar" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "Incluir Herdados" -#: part/serializers.py:1940 +#: part/serializers.py:1977 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:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "Pular Linhas inválidas" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "Habilitar esta opção para pular linhas inválidas" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "Copiar Peças Substitutas" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copiar peças de substitutas quando duplicar itens de LDM" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "Fornece suporte nativo para códigos de barras" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "Fornece suporte nativo para códigos de barras" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "Providenciar suporte nativo para impressão de etiquetas em PDF" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "Modo de depuração" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "Ativar o modo de depuração - retorna HTML bruto em vez de PDF" @@ -6857,43 +6958,43 @@ msgstr "Pular Etiquetas" msgid "Skip this number of labels when printing label sheets" msgstr "Ignorar este número de etiquetas quando imprimir folhas de etiquetas" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "Borda" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "Imprima uma borda em torno de cada etiqueta" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "Paisagem" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "Imprimir a folha de etiqueta no modo paisagem" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "Impressora de folhas de etiqueta do InvenTree" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "Matriz várias etiquetas em uma única folha" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "A etiqueta é muito grande para tamanho de página" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "Nenhuma etiqueta foi gerada" @@ -7046,21 +7147,21 @@ msgstr "Extensões" msgid "Method" msgstr "Método" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "Nenhum autor encontrado" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "A extensão '{p}' não é compatível com a versão atual do InvenTree {v}" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "Extensão requer pelo menos a versão {v}" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "Extensão requer no máximo a versão {v}" @@ -7345,7 +7446,7 @@ msgstr "Filtros" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "" @@ -7357,56 +7458,56 @@ msgstr "Tamanho da página para relatórios PDF" msgid "Render report in landscape orientation" msgstr "Renderizar relatório em orientação paisagem" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "Largura [mm]" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "Largura da etiqueta, em mm" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "Altura [mm]" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "Altura da Etiqueta, em mm" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "Recorte" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "Relatar arquivo de recorte" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "Descrição do arquivo de recorte" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "Patrimônio" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "Reportar arquivo de ativos" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "Descrição do arquivo de ativos" @@ -7694,7 +7795,7 @@ msgstr "Ícone padrão para todos os locais que não tem um ícone (opcional)" msgid "Stock Location" msgstr "Localização do estoque" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "Locais de estoque" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "Externo" @@ -8599,115 +8700,115 @@ msgstr "Excluir" msgid "Permission to delete items" msgstr "Permissão para excluir itens" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "Administrador" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "Balanço" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "Pedidos de compra" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "Pedidos de vendas" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "Pedidos de Devolução" 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 f43a9e4cd4..1d6355de54 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:14\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "" @@ -108,9 +108,9 @@ msgstr "Informe a data" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "" msgid "Reference number is too large" msgstr "O número de referência é muito longo" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "Descrição" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "Falha na Tarefa" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "Erro de servidor" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "Moeda" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "" @@ -526,29 +526,29 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "" @@ -646,16 +646,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "" @@ -663,15 +663,15 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "" @@ -682,52 +682,56 @@ msgstr "" msgid "Available" msgstr "" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "Referência do pedido de venda" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:291 -msgid "Destination Location" -msgstr "" - -#: build/models.py:296 -msgid "Select location where the completed items will be stored" +#: build/models.py:299 +msgid "External Build" msgstr "" #: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 +msgid "Destination Location" +msgstr "" + +#: build/models.py:310 +msgid "Select location where the completed items will be stored" +msgstr "" + +#: build/models.py:314 msgid "Build Quantity" msgstr "" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "" -#: build/models.py:350 +#: build/models.py:364 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "Quantidade necessária para o pedido de produção" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:407 +#: build/serializers.py:408 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:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Aceitar que os itens de estoque não foram totalmente alocados para esta encomenda" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "" -#: build/serializers.py:945 +#: build/serializers.py:946 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "" @@ -1429,544 +1441,544 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Ativo" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "" @@ -1988,7 +2000,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "" @@ -2004,80 +2016,88 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2188,8 +2208,8 @@ msgstr "" #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "" @@ -2417,8 +2437,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "Modelo" @@ -2431,8 +2451,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "" @@ -3546,8 +3558,8 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "" @@ -3591,7 +3603,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "" @@ -3701,8 +3713,8 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "" @@ -3730,7 +3742,7 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "" @@ -3782,8 +3794,8 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "" @@ -3818,7 +3830,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "" @@ -3854,15 +3866,15 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "" @@ -4186,101 +4198,105 @@ msgstr "" msgid "Config type" msgstr "" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "" -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1241 +#: order/models.py:1283 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1251 +#: order/models.py:1293 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "" -#: order/models.py:1595 +#: order/models.py:1637 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1847 +#: order/models.py:1924 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2218 +#: order/models.py:2301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2735 +#: order/models.py:2818 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "Copiar linhas" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "Duplicar Pedido" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "ID do pedido inválido" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "Itens Alocados" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "Os seguintes números de série não estão disponíveis" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "" @@ -5142,24 +5174,24 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "" @@ -5191,7 +5223,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "" @@ -5200,8 +5232,8 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5316,7 +5348,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5357,7 +5389,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "" @@ -5433,847 +5465,867 @@ msgstr "" msgid "Last Stocktake" msgstr "" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "Modelos de teste só podem ser criados para partes testáveis" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "Quantidade Especulativa" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "ID do modelo" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:537 +#: part/serializers.py:550 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -6857,43 +6958,43 @@ msgstr "" msgid "Skip this number of labels when printing label sheets" msgstr "" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "" @@ -7046,21 +7147,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7345,7 +7446,7 @@ msgstr "" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "" @@ -7357,56 +7458,56 @@ msgstr "" msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "" @@ -7694,7 +7795,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "" @@ -8599,115 +8700,115 @@ msgstr "" msgid "Permission to delete items" msgstr "" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "" diff --git a/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po index 5701defbdd..41b0807772 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:14\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Romanian\n" "Language: ro_RO\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "" @@ -108,9 +108,9 @@ msgstr "" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "" msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "" @@ -526,29 +526,29 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "" @@ -646,16 +646,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "" @@ -663,15 +663,15 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "" @@ -682,52 +682,56 @@ msgstr "" msgid "Available" msgstr "" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:291 -msgid "Destination Location" -msgstr "" - -#: build/models.py:296 -msgid "Select location where the completed items will be stored" +#: build/models.py:299 +msgid "External Build" msgstr "" #: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 +msgid "Destination Location" +msgstr "" + +#: build/models.py:310 +msgid "Select location where the completed items will be stored" +msgstr "" + +#: build/models.py:314 msgid "Build Quantity" msgstr "" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "" -#: build/models.py:350 +#: build/models.py:364 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "" -#: build/serializers.py:945 +#: build/serializers.py:946 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "" @@ -1429,544 +1441,544 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "" @@ -1988,7 +2000,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "" @@ -2004,80 +2016,88 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2188,8 +2208,8 @@ msgstr "" #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "" @@ -2417,8 +2437,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "" @@ -2431,8 +2451,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "" @@ -3546,8 +3558,8 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "" @@ -3591,7 +3603,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "" @@ -3701,8 +3713,8 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "" @@ -3730,7 +3742,7 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "" @@ -3782,8 +3794,8 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "" @@ -3818,7 +3830,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "" @@ -3854,15 +3866,15 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "" @@ -4186,101 +4198,105 @@ msgstr "" msgid "Config type" msgstr "" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "" -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1241 +#: order/models.py:1283 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1251 +#: order/models.py:1293 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "" -#: order/models.py:1595 +#: order/models.py:1637 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1847 +#: order/models.py:1924 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2218 +#: order/models.py:2301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2735 +#: order/models.py:2818 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "" @@ -5142,24 +5174,24 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "" @@ -5191,7 +5223,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "" @@ -5200,8 +5232,8 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5316,7 +5348,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5357,7 +5389,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "" @@ -5433,847 +5465,867 @@ msgstr "" msgid "Last Stocktake" msgstr "" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:537 +#: part/serializers.py:550 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -6857,43 +6958,43 @@ msgstr "" msgid "Skip this number of labels when printing label sheets" msgstr "" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "" @@ -7046,21 +7147,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7345,7 +7446,7 @@ msgstr "" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "" @@ -7357,56 +7458,56 @@ msgstr "" msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "" @@ -7694,7 +7795,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "" @@ -8599,115 +8700,115 @@ msgstr "" msgid "Permission to delete items" msgstr "" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "" diff --git a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po index 5a932870c2..8e7fe81909 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-06-02 01:32\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "Невозможно преобразовать {original} в {unit}" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "недопустимое количество" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "Подробности об ошибке можно найти в панели администратора" @@ -108,9 +108,9 @@ msgstr "Введите дату" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -357,7 +357,7 @@ msgstr "Войти в приложение" #: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 msgid "Email" -msgstr "EMail" +msgstr "Электронная почта" #: InvenTree/models.py:107 msgid "Error running plugin validation" @@ -399,90 +399,90 @@ msgstr "Ссылка должна соответствовать шаблону msgid "Reference number is too large" msgstr "Номер ссылки слишком большой" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "Повторяющиеся имена не могут существовать под одним и тем же родителем" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "Неверный выбор" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "Название" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "Описание" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "Описание (необязательно)" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "Путь" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "Записи о скидке (необязательно)" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" -msgstr "Данные штрих-кода" +msgstr "Данные штрихкода" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "Данные стороннего штрих-кода" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "Хэш штрих-кода" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "Уникальный хэш данных штрих-кода" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "Обнаружен существующий штрих-код" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "Задача не удалась" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "Ошибка сервера" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "Сервер зарегистрировал ошибку." -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "Должно быть действительным номером" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "Валюта" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "Выберите валюту из доступных вариантов" @@ -526,29 +526,29 @@ msgstr "Избыток не может превысить 100%" msgid "Invalid value for overage" msgstr "Неверное значение для избытка" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Статус заказа" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "Родительский заказ на производство" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "" msgid "Part" msgstr "Деталь" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "Категория" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "Назначено мне" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Создано" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "" @@ -646,16 +646,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Заказ на производство должен быть отменен перед удалением" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "Расходники" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "Необязательно" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "Производимая деталь" @@ -663,15 +663,15 @@ msgstr "Производимая деталь" msgid "Tracked" msgstr "Отслеживается" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "Зарезервировано" @@ -682,259 +682,271 @@ msgstr "Зарезервировано" msgid "Available" msgstr "Доступно" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Заказ на производство" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "Заказы на производство" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "Сборка BOM не подтверждена" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "Порядок сборки не может быть создан для неактивной части" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "Порядок сборки не может быть создан для разблокированной части" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "Неверный выбор для родительской сборки" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "Должен быть указан ответственный пользователь или группа" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "Деталь заказа на производства не может быть изменена" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "Ссылка на заказ на производство" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 #: report/templates/report/inventree_sales_order_report.html:28 msgid "Reference" -msgstr "Отсылка" +msgstr "Номер" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "Краткое описание заказа на производство (необязательно)" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Заказ на производство, которому принадлежит этот заказ на производство" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "Выберите деталь для производства" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "Ссылка на заказ" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "Заказ на продажу, которому принадлежит этот заказ на производство" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "Место хранения - источник" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Выберите место хранения для этого заказа на производство (оставьте пустым, чтобы взять с любого места на складе)" -#: build/models.py:291 +#: build/models.py:299 +msgid "External Build" +msgstr "" + +#: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 msgid "Destination Location" msgstr "Место хранения результата" -#: build/models.py:296 +#: build/models.py:310 msgid "Select location where the completed items will be stored" msgstr "Выберите место хранения завершенных элементов" -#: build/models.py:300 +#: build/models.py:314 msgid "Build Quantity" msgstr "Количество производимых деталей" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "Количество складских позиций для производства" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "Произведенные детали" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "Количество складских позиций, которые были произведены" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "Статус заказа на производство" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "Код статуса заказа на производство" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "Код партии" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "Код партии для продукции" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "Дата создания" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "Запланированная начальная дата этого заказа на сборку" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "Целевая дата завершения" -#: build/models.py:350 +#: build/models.py:364 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Целевая дата для заказа на производства. Заказ будет просрочен после этой даты." -#: build/models.py:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "Дата завершения" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "выполнено" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "Создано" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "Пользователь, создавший этот заказ на производство" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Ответственный" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "Пользователь, ответственный за этот заказ на производство" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "Внешняя ссылка" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Ссылка на внешний URL" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "Приоритет производства" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "Приоритет этого заказа на производство" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Код проекта" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "Код проекта для этого заказа на производство" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "Не удалось выгрузить задачу для распределения на сборку" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Заказ на производство {build} был завершен" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "Заказ на производство был завершен" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "Для отслеживаемых частей должны быть указаны серийные номера" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "Продукция не указана" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "Продукция уже произведена" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "Продукция не совпадает с заказом на производство" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "Количество не может быть больше количества продукции" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Сборка {serial} не прошла все необходимые тесты" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "Номер позиции для производства" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "Объект производства" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "Объект производства" msgid "Quantity" msgstr "Количество" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "Требуемое количество для заказа на производство" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Элемент производства должен указать продукцию, как главную деталь помеченную как отслеживаемая" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Резервируемое количество ({q}) не должно превышать доступное количество на складе ({a})" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Складская позиция перераспределена" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Резервируемое количество должно быть больше нуля" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "Количество должно быть 1 для сериализованных запасов" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "Выбранная складская позиция не соответствует позиции в BOM" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "Складская позиция" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "Исходная складская позиция" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "Количество на складе для производства" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "Установить в" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "Целевая складская позиция" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "Наименование детали" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "Название кода проекта" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "Выход Продукции" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "Продукция не совпадает с родительским заказом на производство" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "Продукция не соответствует детали заказа на производство" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "Эта продукция уже помечена как завершенная" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "Сырье для этой продукции не полностью зарезервировано" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "Введите количество продукции" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "Для отслеживаемых деталей должно быть указано целочисленное количество" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Требуется целое количество, так как материал содержит отслеживаемые детали" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "Серийные номера" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "Введите серийные номера для продукции" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "Расположение" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "Автоматически выделить серийные номера" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" msgstr "Автоматически зарезервировать необходимые элементы с соответствующими серийными номерами" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "Следующие серийные номера уже существуют или недействительны" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "Необходимо представить список выхода деталей" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "Место хранения для списанной продукции" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "Отменить резервирование" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "Отменить все резервы запасов для списанной продукции" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "Причина списания продукции" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "Место хранения для завершенной продукции" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "Разрешить неполное резервирование" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "Завершить продукцию, если запасы не были полностью распределены" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "Вычесть запасы, которые уже были зарезервированы для этого производства" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "Удалить незавершенную продукцию" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "Удалить всю незавершенную продукцию" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "Запрещено" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "Принять как поглощенный этим заказом на производство" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "Отменить резерв, до завершения заказа на производство" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "Перераспределенные запасы" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Как вы хотите обработать дополнительные складские позиции, назначенные для заказа на производство" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "Некоторые складские позиции были перераспределены" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "Разрешить не полное резервирование" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Подтвердите, что складские позиции не были полностью зарезервированы для этого заказа на производство" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "Необходимые запасы не были полностью зарезервированы" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "Разрешить незавершенные производимые детали" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "Допустить, что требуемое кол-во продукции не завершено" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "Требуемое количество деталей не было произведено" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "Производственный заказ имеет незавершённые дочерние заказы" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "Заказ на производство должен быть в стадии выполнения" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "Заказ на производство имеет незавершенную продукцию" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "Позиция для производства" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "Выход продукции" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "Продукция должна указывать на тот же производство" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "Позиция для производства" -#: build/serializers.py:945 +#: build/serializers.py:946 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part должна указывать на ту же часть, что и заказ на производство" -#: build/serializers.py:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "Элемент должен быть в наличии" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Превышено доступное количество ({q})" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "Продукция должна быть указан для резервирования отслеживаемых частей" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Продукция не может быть указана для резервирования не отслеживаемых частей" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "Необходимо указать резервируемые элементы" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Место хранения, где будут зарезервированы детали (оставьте пустым, чтобы забрать их из любого места)" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "Исключить место хранения" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "Исключить складские позиции из этого выбранного места хранения" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "Обменный остаток" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Складские позиции в нескольких местах могут использоваться на взаимозаменяемой основе" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "Заменить остатки" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "Разрешить резервирование замещающих деталей" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "Необязательные элементы" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "Зарезервировать необязательные позиции BOM для заказа на производство" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "Не удалось запустить задачу автораспределения" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "Деталь поставщика" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "Зарезервированное количество" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "Отслеживание" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "Унаследованные" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "Разрешить разновидности" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "Позиция BOM" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "Зарезервированные Запасы" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "В заказе" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "В производстве" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "Внешний склад" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "Доступный запас" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "" @@ -1362,7 +1374,7 @@ msgstr "" #: generic/states/tests.py:131 order/status_codes.py:12 #: order/status_codes.py:44 order/status_codes.py:76 order/status_codes.py:102 msgid "Pending" -msgstr "Ожидаемый" +msgstr "В обработке" #: build/status_codes.py:12 msgid "Production" @@ -1371,18 +1383,18 @@ msgstr "Продукция" #: build/status_codes.py:13 order/status_codes.py:14 order/status_codes.py:51 #: order/status_codes.py:81 msgid "On Hold" -msgstr "На удержании" +msgstr "Отложен" #: build/status_codes.py:14 order/status_codes.py:16 order/status_codes.py:53 #: order/status_codes.py:84 msgid "Cancelled" -msgstr "Отменено" +msgstr "Отменён" #: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:529 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" -msgstr "Готово" +msgstr "Завершён" #: build/tasks.py:193 msgid "Stock required for build order" @@ -1429,544 +1441,544 @@ msgstr "Не указаны действительные коды валют" msgid "No plugin" msgstr "Нет плагина" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "Обновлено" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "Временная метка последнего обновления" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "Уникальный код проекта" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "Описание проекта" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "Пользователь или группа, ответственные за этот проект" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "Значения настроек" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "Выбранное значение не является допустимым" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "Значение должно быть булевым" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "Значение должно быть целым числом" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "Строка ключа должна быть уникальной" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "Пользователь" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "Цена" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "Конечная точка" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Активный" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "Токен" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "Токен для доступа" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "Секрет" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "ID Сообщения" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "Хост" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "Заголовок" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "Тело" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "Работал над" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "Код" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "Заголовок" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Ссылка" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "Опубликовано" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "Автор" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "Итого" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "Читать" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "Изображение" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "Файл изображения" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "Название единицы" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "Символ" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "Определение" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "Вложения" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "Файл не найден" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "Отсутствует внешняя ссылка" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" -msgstr "" +msgstr "Тип модели" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "Выберите файл для вложения" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "Комментарий" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" -msgstr "" +msgstr "Описание вложения" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "Размер файла в байтах" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "Значение" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "Создано" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "Последнее обновление" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Данные" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" -msgstr "" +msgstr "Данные штрихкода" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "Метка времени" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "Контекст" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "Результат" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "" @@ -1988,7 +2000,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "Полученные элементы" @@ -2004,80 +2016,88 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "Запущен" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "Ожидающие задачи" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "Запланированные задания" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "Невыполненные Задачи" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "Код задачи" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "Уникальный ID задачи" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "Заблокировать" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "Время блокировки" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "Название задачи" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "Функция" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "Имя функции" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "Аргументы" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "Аргументы задачи" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "Имя файла" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2188,8 +2208,8 @@ msgstr "Как часто обновлять курс валют (установ #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "дней" @@ -2417,8 +2437,8 @@ msgstr "Скопировать параметры по шаблону катег msgid "Copy category parameter templates when creating a part" msgstr "Копировать параметры по шаблону категории при создании детали" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "Шаблон" @@ -2431,8 +2451,8 @@ msgstr "По умолчанию детали являются шаблонами msgid "Parts can be assembled from other components by default" msgstr "По умолчанию детали могут быть собраны из других компонентов" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "Компонент" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "Детали являются виртуальными по умолчанию" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "Показать Импорт в просмотре" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "Отобразить мастер импорта на некоторых видах деталей" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "Показывать связанные детали" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "Отображать связанные детали для элемента" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "Начальные данные о запасах" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "Разрешить создание начального запаса при добавлении новой детали" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "Исходные данные о поставщике" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Разрешить создание исходных данных о поставщике при добавлении новой детали" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "Формат отображения детали" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "Формат для отображения имени детали" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "Значок раздела по умолчанию" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "Значок категории по умолчанию (пустой означает отсутствие значка)" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "Принудительное применение единиц измерения параметров" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "Если введены единицы, значения параметра должны соответствовать указанным единицам измерения" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "Минимальные Цены Десятичные Значки" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Минимальное количество десятичных знаков при отображении данных о ценах" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "Макс. Цены десятичные знаки" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Минимальное количество десятичных знаков при отображении данных о ценах" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "Использовать цены поставщика" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Включить разницу цен поставщиков при расчетах цен" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "Изменить историю покупки" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Ценообразование по историческим заказам на поставку отменяет различия в ценах поставщиков" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "Использовать цены из складских позиций" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Использовать расценки из ручного ввода данных о запасах для расчета цен" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "Возраст цен складских позиций" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Исключить складские позиции старше указанного количества дней с расчёта цен" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "Использовать варианты цен" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "Включить разницу цен поставщиков при расчетах цен" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "Только Активные Варианты" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "Использовать только активные запчасти для расчета стоимости варианта" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "Интервал пересчета цен" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "Количество дней до автоматического обновления цены" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "Внутренние цены" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "Разрешить внутренние цены для частей" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "Переопределение внутренней цены" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "При наличии внутренних цен переопределить ценовой диапазон" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "Включить печать этикеток" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "Включить печать этикеток из веб-интерфейса" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "Изображение меток DPI" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Разрешение DPI при создании файлов изображений для печати этикеток плагинов" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "Включить отчеты" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "Включить генерацию отчетов" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "Режим отладки" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "Генерировать отчеты в режиме отладки (вывод HTML)" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "Журнал ошибок отчета" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "Журнал ошибок, которые возникают при создании отчетов" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "Размер страницы" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "Размер страницы по умолчанию для PDF отчетов" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "Глобально уникальные серийные номера" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "Серийные номера для складских позиций должны быть уникальными глобально" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "Автоматическое заполнение серийных номеров" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "Автоматическое заполнение серийных номеров в формах" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "Удалить исчерпанный запас" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "Определяет поведение по умолчанию, когда складская позиция заканчивается" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "Код партии Шаблона" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "Шаблон для создания кодов партии по умолчанию для складских позиций" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "Срок годности Запасов" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "Включить функцию истечения срока годности" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "Использовать просроченные остатки в производстве" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "Разрешить продажу просроченных запасов" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "Время Залежалости Запасов" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "Количество дней перед тем как складская единица будет считаться просроченной" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "Использовать просроченные остатки в производстве" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "Разрешить использовать просроченные остатки в производстве" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "Контроль за собственными запасами" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "Разрешить владельцу контролировать расположение складов и номенклатуры" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "Значок местоположения по умолчанию" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "Значок местоположения склада по умолчанию (пустой означает отсутствие значка)" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "Показать установленные складские позиции" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "Отображать установленные складские позиции в складских таблицах" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "Проверять спецификацию при установке изделий" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Установленные единица хранения должны присутствовать в спецификации для родительской детали" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "Разрешить передачу товара, отсутствующего на складе" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Разрешить перемещение товаров, которых нет на складе, между складами" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "Паттерн ссылки заказа на производство" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "Поле требуемого паттерна для создания ссылки заказа на производство" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "Требуется ответственный владелец" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "Ответственный владелец должен быть назначен для каждого заказа" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "" @@ -3041,11 +3061,11 @@ msgstr "" #: common/setting/system.py:984 msgid "Check for plugin updates" -msgstr "" +msgstr "Проверка обновлений плагинов" #: common/setting/system.py:985 msgid "Enable periodic checks for updates to installed plugins" -msgstr "" +msgstr "Включить периодическую проверку обновлений установленных плагинов" #: common/setting/system.py:991 msgid "Enable URL integration" @@ -3097,11 +3117,11 @@ msgstr "" #: common/setting/system.py:1033 msgid "Enable project codes" -msgstr "" +msgstr "Включить коды проекта" #: common/setting/system.py:1034 msgid "Enable project codes for tracking projects" -msgstr "" +msgstr "Включить коды проекта для отслеживания проектов" #: common/setting/system.py:1039 msgid "Stocktake Functionality" @@ -3369,11 +3389,11 @@ msgstr "" #: common/setting/user.py:183 msgid "Escape Key Closes Forms" -msgstr "" +msgstr "Закрытие форм по клавише Escape" #: common/setting/user.py:184 msgid "Use the escape key to close modal forms" -msgstr "" +msgstr "Модальные окна можно закрывать с помощью клавиши Escape" #: common/setting/user.py:189 msgid "Fixed Navbar" @@ -3381,7 +3401,7 @@ msgstr "Фиксированная панель навигации" #: common/setting/user.py:190 msgid "The navbar position is fixed to the top of the screen" -msgstr "" +msgstr "Положение панели навигации фиксируется в верхней части экрана" #: common/setting/user.py:195 msgid "Navigation Icons" @@ -3397,7 +3417,7 @@ msgstr "Формат даты" #: common/setting/user.py:202 msgid "Preferred format for displaying dates" -msgstr "" +msgstr "Предпочтительный формат для отображения дат" #: common/setting/user.py:215 msgid "Part Scheduling" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "Показывать информацию о товаре (если включена функция инвентаризации)" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "Производитель" @@ -3546,8 +3558,8 @@ msgstr "Контактный телефон" msgid "Contact email address" msgstr "Контактный EMail" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "Контакт" @@ -3561,15 +3573,15 @@ msgstr "Ссылка на описание компании" #: company/models.py:164 msgid "Is this company active?" -msgstr "" +msgstr "Эта компания активна?" #: company/models.py:169 msgid "Is customer" -msgstr "" +msgstr "Покупатель" #: company/models.py:170 msgid "Do you sell items to this company?" -msgstr "Вы продаёте детали этой компании?" +msgstr "Является ли компания покупателем?" #: company/models.py:175 msgid "Is supplier" @@ -3577,7 +3589,7 @@ msgstr "Поставщик" #: company/models.py:176 msgid "Do you purchase items from this company?" -msgstr "Вы закупаете детали у этой компании?" +msgstr "Является ли компания поставщиком деталей?" #: company/models.py:181 msgid "Is manufacturer" @@ -3591,7 +3603,7 @@ msgstr "Является ли компания производителем де msgid "Default currency used for this company" msgstr "Для этой компании используется валюта по умолчанию" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "Адрес" @@ -3701,8 +3713,8 @@ msgstr "Выберите деталь" msgid "Select manufacturer" msgstr "Выберите производителя" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "" @@ -3730,7 +3742,7 @@ msgstr "Наименование параметра" msgid "Parameter value" msgstr "Значение параметра" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Ед.изм" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Связанная деталь производителя должна ссылаться на ту же базовую деталь" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "Поставщик" msgid "Select supplier" msgstr "Выберите поставщика" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "Код поставщика" @@ -3782,8 +3794,8 @@ msgstr "Ссылка на сайт поставщика" msgid "Supplier part description" msgstr "Описание детали поставщика" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "Описание детали поставщика" msgid "Note" msgstr "Запись" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "базовая стоимость" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "Упаковка" @@ -3818,7 +3830,7 @@ msgstr "Кол-во в упаковке" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "множественные" @@ -3854,15 +3866,15 @@ msgstr "Валюта по умолчанию для этого поставщи msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "На складе" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -3908,7 +3920,7 @@ msgstr "" #: generic/states/tests.py:22 order/status_codes.py:13 msgid "Placed" -msgstr "Размещены" +msgstr "Оформлен" #: generic/states/validators.py:21 msgid "Invalid status code" @@ -3920,7 +3932,7 @@ msgstr "Файл данных" #: importer/models.py:71 msgid "Data file to import" -msgstr "" +msgstr "Файл с данными импорта" #: importer/models.py:80 msgid "Columns" @@ -4098,7 +4110,7 @@ msgstr "" msgid "Connected" msgstr "Подключен" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "Неизвестно" @@ -4186,101 +4198,105 @@ msgstr "" msgid "Config type" msgstr "" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "Ссылка на заказ" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "Невыполненный" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "Создал" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "Имеет цену" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "Заказ" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "Внутренняя деталь" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "Завершённые" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Заказ на закупку" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "Заказ на закупку" msgid "Sales Order" msgstr "Заказ на продажу" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "Заказ на возврат" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "Общая стоимость" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "Валюта Заказа" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "Валюта заказа (оставьте пустым для использования валюты по-умолчанию для компании)" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "Контакт не соответствует выбранной компании" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "Описание заказа (дополнительно)" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "Выберите код проекта для этого заказа" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "Ссылка на внешнюю страницу" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "Начальная дата" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "Запланированная начальная дата этого заказа" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Целевая дата" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Ожидаемая дата доставки заказа. После этой даты заказ будет считаться просроченным." -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "Дата создания" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "Пользователь или группа, ответственная за этот заказ" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "Контактное лицо по данному заказу" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "Адрес компании по этому заказу" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "Ссылка на заказ" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "Статус" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "Компания, в которой детали заказываются" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "Номер у поставщика" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "Номер заказа у поставщика" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "получил" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "Место хранения" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "Место хранения для полученных позиций" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Покупатель" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "Компания, которой детали продаются" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "" -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "Дата отгрузки" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "Отправлено" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1241 +#: order/models.py:1283 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1251 +#: order/models.py:1293 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "Количество" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" -msgstr "" +msgstr "Номер позиции" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "Записи о позиции" -#: order/models.py:1595 +#: order/models.py:1637 msgid "Target date for this line item (leave blank to use the target date from the order)" -msgstr "" +msgstr "Целевая дата этой позиции (оставьте пустой, чтобы использовать целевую дату заказа)" -#: order/models.py:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "Описание позиции (необязательно)" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "Дополнительный контекст для этой строки" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "Цена за единицу" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "Деталь поставщика" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "Получено" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "Закупочная цена" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" +msgstr "Закупочная цена" + +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" msgstr "" -#: order/models.py:1792 +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1847 +#: order/models.py:1924 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "Цена продажи" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "Цена последней продажи" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" -msgstr "Доставлено" +msgstr "Доставлен" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "Отгруженное кол-во" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "Дата отправления" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "Дата доставки" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "Проверн" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Отправление" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "Номер отправления" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "Номер отслеживания" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "Информация об отслеживании доставки" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "Номер счета" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "Отправка не имеет зарезервированных складских позиций" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "Складская позиция не была назначена" -#: order/models.py:2218 +#: order/models.py:2301 msgid "Cannot allocate stock item to a line with a different part" msgstr "Невозможно зарезервировать складскую позицию в позицию другой детали" -#: order/models.py:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "Количество должно быть 1 для сериализированных складских позиций" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "Строка" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "Элемент" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "Выберите складскую позицию для резервирования" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "Укажите резервируемое количество" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "Выберите позицию, возвращаемую от клиента" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "Дата получения" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "Результат" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2735 +#: order/models.py:2818 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "Позиции" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "Имя поставщика" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "Заказ не открыт" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" -msgstr "" +msgstr "Автоматическая цена" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" -msgstr "" +msgstr "Автоматически рассчитывать закупочную цену на основе данных детали поставщика" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" -msgstr "Валюта цены закупки" +msgstr "Валюта заказа на закупку" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" -msgstr "" +msgstr "Объединять элементы" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" -msgstr "" +msgstr "Объединять в одну позицию элементы, у которых одинаковая деталь, место хранения и целевая дата" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "Внутренний код детали" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "Позиция" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "Выберите место назначения для полученных элементов" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "Введите код партии для поступающих складских позиций" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "Истекает" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "Введите серийные номера для входящих складских позиций" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "Штрих-код" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "Сканированный штрих-код" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "Для отслеживаемых деталей должно быть указано целочисленное количество" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "Валюта цены продажи" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "Введите серийные номера для резервирования" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "" @@ -5001,7 +5033,7 @@ msgstr "Потерян" #: order/status_codes.py:18 order/status_codes.py:55 stock/status_codes.py:24 msgid "Returned" -msgstr "Возвращено" +msgstr "Возвращён" #: order/status_codes.py:47 order/status_codes.py:79 msgid "In Progress" @@ -5025,7 +5057,7 @@ msgstr "Возврат" #: order/status_codes.py:117 msgid "Reject" -msgstr "Отклонить" +msgstr "Отклонён" #: order/tasks.py:44 msgid "Overdue Purchase Order" @@ -5142,24 +5174,24 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Категория детали" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "Категория детали" @@ -5191,7 +5223,7 @@ msgstr "Ключевые слова по умолчанию для детале msgid "Icon" msgstr "Иконка" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "Иконка (необязательно)" @@ -5200,8 +5232,8 @@ msgstr "Иконка (необязательно)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "Детали" @@ -5316,7 +5348,7 @@ msgstr "Ключевые слова для улучшения видимости msgid "Part category" msgstr "Категория" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5357,7 +5389,7 @@ msgstr "Срок действия по умолчанию" msgid "Expiry time (in days) for stock items of this part" msgstr "Срок годности (в днях) для складских позиций этой детали" -#: part/models.py:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "Минимальный запас" @@ -5433,847 +5465,867 @@ msgstr "" msgid "Last Stocktake" msgstr "Последняя инвентаризация" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "Продать несколько" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "Минимальная Стоимость BOM" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "Максимальная Стоимость BOM" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "Минимальная Стоимость" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "Максимальная Стоимость" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "Количество Элементов" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Дата" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "Дополнительные Записи" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "Отчет" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "Количество Деталей" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "Название теста" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "Введите имя для теста" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "Описание теста" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "Введите описание для этого теста" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "Включено" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "Требуется" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "Требуется значение" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "Варианты" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" -msgstr "" +msgstr "У параметров-переключателей не может быть единицы измерения" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" -msgstr "" +msgstr "У параметров-переключателей не может быть вариантов" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "Название параметра" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" -msgstr "" +msgstr "Физическая единица этого параметра" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "Описание параметра" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" -msgstr "Чекбокс" +msgstr "Переключатель" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" -msgstr "" +msgstr "Этот параметр является переключателем?" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" -msgstr "" +msgstr "Возможные варианты этого параметра (разделить запятой)" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "Недопустимое значение параметра" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "Родительская деталь" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "Шаблон параметра" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "Значение Параметра" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "Значение по умолчанию" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "Значение параметра по умолчанию" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "Выберите родительскую деталь" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "Суб-деталь" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "Выбрать деталь для использования в BOM" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "Эта позиция спецификации необязательна" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Эта позиция - расходник. (она не отслеживается в заказах на производство)" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "Перерасход" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Расчетное количество перерасходов производства (абсолютное или процентное)" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "Ссылка на позицию спецификации" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "Записи о позиции BOM" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "Контрольная сумма" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "Проверен" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "Наследуется" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Складские позиции для разновидностей деталей могут быть использованы для этой позиции BOM" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "Для отслеживаемых деталей количество должно быть целым числом" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "Позиция BOM-родителя" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "Замена детали" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "Часть 1" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "Часть 2" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "Выберите связанную часть" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "Подкатегории" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "Результаты" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "Валюта закупки складской позиции" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "Оригинальная деталь" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "Копировать Изображение" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "Скопировать BOM" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "Скопировать параметры" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "Копировать Записи" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "Скопировать записи из оригинальной детали" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:537 +#: part/serializers.py:550 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "Код производителя" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "Название категории" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "Производится" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "Складские позиции" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "Складские позиции" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "Поставщики" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Общий запас" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "Дублировать деталь" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "Начальный запас" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "Копировать параметры категории" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "Копировать шаблоны параметров из выбранной категории деталей" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "Существующее изображение" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "Исключить складские позиции в внешних местах хранения" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "Создать отчет" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "Обновить детали" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "Проверка фонового работника не удалась" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "Минимальная цена" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "Максимальная цена" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "Обновить" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "Можно произвести" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "Пропустить некорректные строки" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6324,7 +6376,7 @@ msgstr "" #: plugin/api.py:92 msgid "Mandatory" -msgstr "" +msgstr "Обязательно" #: plugin/api.py:103 msgid "Sample" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "Режим отладки" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -6857,43 +6958,43 @@ msgstr "Пропустить Этикетки" msgid "Skip this number of labels when printing label sheets" msgstr "" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "Граница" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "Альбомная" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "" @@ -7012,7 +7113,7 @@ msgstr "" #: plugin/models.py:61 plugin/serializers.py:119 msgid "Package Name" -msgstr "Имя Упаковки" +msgstr "Название плагина" #: plugin/models.py:63 msgid "Name of the installed package, if the plugin was installed via PIP" @@ -7032,7 +7133,7 @@ msgstr "Встроенный плагин" #: plugin/models.py:184 msgid "Mandatory Plugin" -msgstr "" +msgstr "Обязательный плагин" #: plugin/models.py:189 msgid "Package Plugin" @@ -7046,21 +7147,21 @@ msgstr "Плагин" msgid "Method" msgstr "Метод" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "Автор не найден" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7183,15 +7284,15 @@ msgstr "" #: plugin/serializers.py:110 msgid "Source URL" -msgstr "Исходная ссылка" +msgstr "Ссылка" #: plugin/serializers.py:112 msgid "Source for the package - this can be a custom registry or a VCS path" -msgstr "" +msgstr "Источник пакета - может быть пользовательский реестр или пути VCS" #: plugin/serializers.py:121 msgid "Name for the Plugin Package - can also contain a version indicator" -msgstr "" +msgstr "Название плагина - может также содержать обозначение версии" #: plugin/serializers.py:128 msgid "Version" @@ -7199,15 +7300,15 @@ msgstr "Версия" #: plugin/serializers.py:130 msgid "Version specifier for the plugin. Leave blank for latest version." -msgstr "" +msgstr "Версия плагина. Оставьте пустым, чтобы использовать последнюю версию." #: plugin/serializers.py:135 msgid "Confirm plugin installation" -msgstr "" +msgstr "Подтвердить установку плагина" #: plugin/serializers.py:137 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." -msgstr "" +msgstr "Сразу установить плагин на текущий сервер. Сервер перейдёт в режим обслуживания." #: plugin/serializers.py:150 msgid "Installation not confirmed" @@ -7335,7 +7436,7 @@ msgstr "" #: report/models.py:278 msgid "Target model type for template" -msgstr "" +msgstr "Тип модели шаблона" #: report/models.py:298 msgid "Filters" @@ -7345,9 +7446,9 @@ msgstr "Фильтры" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" -msgstr "" +msgstr "Файл шаблона" #: report/models.py:366 msgid "Page size for PDF reports" @@ -7357,56 +7458,56 @@ msgstr "" msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "Ширина [мм]" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "Высота [мм]" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "Сниппет" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "Описание файла сниппета" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "Объект" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "Описание медиафайла" @@ -7460,7 +7561,7 @@ msgstr "Изображение детали" #: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" -msgstr "Создан" +msgstr "Оформлен" #: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" @@ -7694,7 +7795,7 @@ msgstr "Значок по-умолчанию для мест хранения с msgid "Stock Location" msgstr "Место хранения" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "Места хранения" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "Внешний" @@ -8599,115 +8700,115 @@ msgstr "Удалить" msgid "Permission to delete items" msgstr "Разрешение на удаление элементов" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "Отображаемое имя" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "Отображаемое имя пользователя" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "Админ" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "Инвентаризация" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "Заказы на закупку" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "Заказы на продажу" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "Заказы на возврат" diff --git a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po index 7266b791bb..137392b4a2 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:15\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Slovak\n" "Language: sk_SK\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "" @@ -108,9 +108,9 @@ msgstr "" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "" msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "" @@ -526,29 +526,29 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "" @@ -646,16 +646,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "" @@ -663,15 +663,15 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "" @@ -682,52 +682,56 @@ msgstr "" msgid "Available" msgstr "" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:291 -msgid "Destination Location" -msgstr "" - -#: build/models.py:296 -msgid "Select location where the completed items will be stored" +#: build/models.py:299 +msgid "External Build" msgstr "" #: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 +msgid "Destination Location" +msgstr "" + +#: build/models.py:310 +msgid "Select location where the completed items will be stored" +msgstr "" + +#: build/models.py:314 msgid "Build Quantity" msgstr "" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "" -#: build/models.py:350 +#: build/models.py:364 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "" -#: build/serializers.py:945 +#: build/serializers.py:946 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "" @@ -1429,544 +1441,544 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "" @@ -1988,7 +2000,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "" @@ -2004,80 +2016,88 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2188,8 +2208,8 @@ msgstr "" #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "" @@ -2417,8 +2437,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "" @@ -2431,8 +2451,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "" @@ -3546,8 +3558,8 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "" @@ -3591,7 +3603,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "" @@ -3701,8 +3713,8 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "" @@ -3730,7 +3742,7 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "" @@ -3782,8 +3794,8 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "" @@ -3818,7 +3830,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "" @@ -3854,15 +3866,15 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "" @@ -4186,101 +4198,105 @@ msgstr "" msgid "Config type" msgstr "" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "" -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1241 +#: order/models.py:1283 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1251 +#: order/models.py:1293 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "" -#: order/models.py:1595 +#: order/models.py:1637 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1847 +#: order/models.py:1924 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2218 +#: order/models.py:2301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2735 +#: order/models.py:2818 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "" @@ -5142,24 +5174,24 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "" @@ -5191,7 +5223,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "" @@ -5200,8 +5232,8 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5316,7 +5348,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5357,7 +5389,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "" @@ -5433,847 +5465,867 @@ msgstr "" msgid "Last Stocktake" msgstr "" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:537 +#: part/serializers.py:550 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -6857,43 +6958,43 @@ msgstr "" msgid "Skip this number of labels when printing label sheets" msgstr "" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "" @@ -7046,21 +7147,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7345,7 +7446,7 @@ msgstr "" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "" @@ -7357,56 +7458,56 @@ msgstr "" msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "" @@ -7694,7 +7795,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "" @@ -8599,115 +8700,115 @@ msgstr "" msgid "Permission to delete items" msgstr "" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "" diff --git a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po index 84fcadb363..c9a49e221c 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:15\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "Ni mogoče pretvoriti {original} v {unit}" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "Podana napačna količina" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "Podrobnosti napake so vidne v pogledu administratorja" @@ -108,9 +108,9 @@ msgstr "Vnesi datum" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "Referenca se mora ujemati s vzorcem" msgid "Reference number is too large" msgstr "Referenčna številka prevelika" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "Podvojena imena ne morejo obstajati pod istim nadrejenim elementom" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "Nedovoljena izbira" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "Ime" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "Opis" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "Opis (opcijsko)" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "Pot" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "Markdown opombe (neobvezno)" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "Podatki čtrne kode" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "Podatki črtne kode tretje osebe" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "Oznaka črtne kode" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "Enolična oznaka podatkov črtne kode" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "Črtna koda že obstaja" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "Napaka strežnika" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "Zaznana napaka na strežniku." -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "Mora biti veljavna številka" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "Izberite valuto med razpoložljivimi možnostmi" @@ -526,29 +526,29 @@ msgstr "Prestarost ne sme presegati 100%" msgid "Invalid value for overage" msgstr "Neveljavna vrednost za prestarost" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "Nadrejena izgradnja" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "" msgid "Part" msgstr "Del" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "Dodeljeno meni" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Izdal" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "Dodeljeno" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "" @@ -646,16 +646,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Izgradnja mora biti najprej preklicana, nato je lahko izbrisana" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "Neobvezno" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "Montaža" @@ -663,15 +663,15 @@ msgstr "Montaža" msgid "Tracked" msgstr "Sledi" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "Testno" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "Dodeljeno" @@ -682,52 +682,56 @@ msgstr "Dodeljeno" msgid "Available" msgstr "Na voljo" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Nalog izgradnje" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "Nalogi izgradnje" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "Sestava BOM ni bila potrjena" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "Neveljavna izbira za nadrejeno izgradnjo" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "Naveden mora biti odgovorni uporabnik ali skupina" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "Referenca naloga izgradnje" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "Referenca naloga izgradnje" msgid "Reference" msgstr "Referenca" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "Izberite del za izgradnjo" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "Referenca dobavnica" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "Dobavnica na katero se navezuje ta izgradnja" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "Lokacija vira" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Izberite lokacijo dela za to izgradnjo (v primeru da ni pomembno pusti prazno)" -#: build/models.py:291 +#: build/models.py:299 +msgid "External Build" +msgstr "" + +#: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 msgid "Destination Location" msgstr "Ciljna lokacija" -#: build/models.py:296 +#: build/models.py:310 msgid "Select location where the completed items will be stored" msgstr "Izberite lokacijo, kjer bodo končne postavke shranjene" -#: build/models.py:300 +#: build/models.py:314 msgid "Build Quantity" msgstr "Količina izgradenj" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "Število postavk za izgradnjo" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "Končane postavke" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "Število postavk zaloge, ki so bile končane" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "Status izgradnje" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "Koda statusa izgradnje" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "Številka serije" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "Številka serije za to izgradnjo" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "Datum ustvarjenja" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "Rok dokončanja" -#: build/models.py:350 +#: build/models.py:364 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:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "Datom končanja" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "dokončal" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "Izdal" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "Uporabnik, ki je izdal nalog za izgradnjo" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Odgovoren" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "Odgovorni uporabnik ali skupina za to naročilo" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "Zunanja povezava" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Zunanja povezava" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Nalog izgradnje {build} je dokončan" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "Nalog izgradnej dokončan" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "Ni določena izgradnja" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "Igradnja je že dokončana" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "Izgradnja se ne ujema s nalogom izdelave" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "" msgid "Quantity" msgstr "Količina" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Izdelana postavka mora imeti izgradnjo, če je glavni del označen kot sledljiv" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Prestavljena zaloga ({q}) ne sme presegati zaloge ({a})" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Preveč zaloge je prestavljene" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Prestavljena količina mora biti večja od 0" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "Količina za zalogo s serijsko številko mora biti 1" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "Postavka zaloge" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "Izvorna postavka zaloge" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "Količina zaloge za prestavljanje za izgradnjo" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "Inštaliraj v" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "Destinacija postavke zaloge" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "Izgradnja" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "Izgradnja se ne ujema z nadrejeno izgradnjo" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "Izhodni del se ne ujema s naročilom sestava" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "Ta sestava je že zaključena" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "" -#: build/serializers.py:945 +#: build/serializers.py:946 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "" @@ -1429,544 +1441,544 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "Uporabnik" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Aktivno" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Povezava" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "Priloga" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "Manjka datoteka" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "Manjka zunanja povezava" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "Izberite prilogo" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "Komentar" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "" @@ -1988,7 +2000,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "" @@ -2004,80 +2016,88 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "Ime datoteke" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2188,8 +2208,8 @@ msgstr "" #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "" @@ -2417,8 +2437,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "" @@ -2431,8 +2451,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "" @@ -3546,8 +3558,8 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "" @@ -3591,7 +3603,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "" @@ -3701,8 +3713,8 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "" @@ -3730,7 +3742,7 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "" @@ -3782,8 +3794,8 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "" @@ -3818,7 +3830,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "" @@ -3854,15 +3866,15 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "" @@ -4186,101 +4198,105 @@ msgstr "" msgid "Config type" msgstr "" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "" -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1241 +#: order/models.py:1283 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1251 +#: order/models.py:1293 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "" -#: order/models.py:1595 +#: order/models.py:1637 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1847 +#: order/models.py:1924 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "Poslano" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2218 +#: order/models.py:2301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2735 +#: order/models.py:2818 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "" @@ -5142,24 +5174,24 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "" @@ -5191,7 +5223,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "" @@ -5200,8 +5232,8 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5316,7 +5348,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5357,7 +5389,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "" @@ -5433,847 +5465,867 @@ msgstr "" msgid "Last Stocktake" msgstr "" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:537 +#: part/serializers.py:550 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "Nadzor dela v ozadju neuspel" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -6857,43 +6958,43 @@ msgstr "" msgid "Skip this number of labels when printing label sheets" msgstr "" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "" @@ -7046,21 +7147,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7345,7 +7446,7 @@ msgstr "" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "" @@ -7357,56 +7458,56 @@ msgstr "" msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "" @@ -7694,7 +7795,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "" @@ -8599,115 +8700,115 @@ msgstr "" msgid "Permission to delete items" msgstr "" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "" diff --git a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po index e9c5203cd8..88575096b4 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:15\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Serbian (Latin)\n" "Language: sr_CS\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "Nije moguće konvertovati {original} u {unit}" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "Isporučena nevažeća količina" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "Detalji o grešci se mogu naći u admin sekciji" @@ -108,9 +108,9 @@ msgstr "Unesite datum" msgid "Invalid decimal value" msgstr "Neispravna decimalna vrednost" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "Referenca mora odgovarati traženom obrascu" msgid "Reference number is too large" msgstr "Broj reference je predugačak" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "Dvostruka imena ne mogu postojati pod istom nadredjenom grupom" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "Nevažeći izvor" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "Ime" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "Opis" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "Opis (Opciono)" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "Putanja" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "Zabeleške (Opciono)" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "Podaci sa barkoda" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "Podaci sa barkoda trećih lica" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "Heš barkoda" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "Jedinstveni hash barkoda" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "Postojeći barkod pronađen" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "Neuspešan zadatak" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "Pozadinski proces '{f}' neuspešan posle {n} pokušaja" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "Greška servera" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "Server je zabležio grešku." -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "Mora biti važeći broj" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "Odaberite valutu među dostupnim opcijama" @@ -526,29 +526,29 @@ msgstr "Ukupna vrednost ne sme da prelazi 100%" msgid "Invalid value for overage" msgstr "Nevažeća ukupna vrednost" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Status naloga" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "Roditeljski proizvod" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "Uključi varijante" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "Uključi varijante" msgid "Part" msgstr "Deo" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "Kategorija" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "Proizvod predaka" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "Dodeljeno meni" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Izdato od" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "Dodeljeno" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "Kreirano pre" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "Kreirano nakon" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "Ciljni datum pre" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "Ciljni datum nakon" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "Završeno pre" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "Završeno nakon" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "Ne uključuj stablo" @@ -646,16 +646,16 @@ msgstr "Ne uključuj stablo" msgid "Build must be cancelled before it can be deleted" msgstr "Proizvod mora biti poništen pre nego što se izbriše" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "Potrošni materijal" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "Opciono" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "Sklapanje" @@ -663,15 +663,15 @@ msgstr "Sklapanje" msgid "Tracked" msgstr "Praćeno" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "Proverljivo" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "Neizmirena narudžbina" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "Alocirano" @@ -682,52 +682,56 @@ msgstr "Alocirano" msgid "Available" msgstr "Dostupno" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Nalog za izradu" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "Nalozi za izradu" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "BOM za sastavljanje nije potvrđeno" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "Nalog za izradu se ne može kreirati za neaktivan deo" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "Nalog za izradu se ne može kreirati za zaključan deo" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "Nevažeći izbor za nadređenu verziju" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "Odgovorni korisnik ili grupa mora biti određena" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "Deo u nalogu za izradu ne može se izmeniti" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "Reference naloga za pravljenje" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "Reference naloga za pravljenje" msgid "Reference" msgstr "Referenca" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "Kratak opis izrade (nije obavezno)" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Nalog za izradu za koju je ova izrada alocirana" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "Izaberi deo za izgradnju" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "Referenca naloga za prodaju" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "Nalog za prodaju za koju je ova izrada alocirana" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "Lokacija izvora" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Izaberi lokaciju zaliha za ovu izgradnju (ostaviti prazno ako hoćete bilo koju lokaciju zaliha" -#: build/models.py:291 +#: build/models.py:299 +msgid "External Build" +msgstr "" + +#: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 msgid "Destination Location" msgstr "Lokacija odredišta" -#: build/models.py:296 +#: build/models.py:310 msgid "Select location where the completed items will be stored" msgstr "Izaberi lokaciju gde će se završene stavke skladištiti" -#: build/models.py:300 +#: build/models.py:314 msgid "Build Quantity" msgstr "Količina izgradnje" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "Broj stavki za izgradnju" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "Kompletirane stavke" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "Broj stavki u zalihama koje su kompletirane" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "Status izgradnje" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "Kod statusa izgradnje" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "Kod serije" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "Kod izgradnje za ovaj izlaz" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "datum kreiranja" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "Datum ciljanog završetka" -#: build/models.py:350 +#: build/models.py:364 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:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "Datum završetka" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "kompletirano od " -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "izdato od" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "Korisnik koji je izdao nalog za izgradnju" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Odgovoran" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "Korisnik ili grupa koja je odgovorna za ovaj nalog za izgradnju" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "Spoljašnja konekcija" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Link za eksterni URL" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "Prioritet izgradnje" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "Prioritet ovog naloga za izgradnju" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Kod projekta" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "Kod projekta za ovaj nalog za izgradnju" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "Nije uspelo preuzimanje zadataka da bi se dovršila alokacija izgradnje" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Nalog za izgradnju {build} je kompletiran" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "Nalog za izgradnju je kompletiran" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "Za delove koji mogu da se prate moraju se dostaviri serijski brojevi" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "Nije određen izlaz izgradnje" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "Izlaz izgradnje je već kompletiran" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "Izlaz izgradnje se ne slaže sa Nalogom za izgradnju" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "Količina mora biti veća od nule" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "Količina ne sme da bude veća od izlazne količine" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Izlaz izgradnje {serial} nije zadovoljio zahtevane testove" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "Stavka porudžbine naloga za izgradnju" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "Objekat izgradnje" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "Objekat izgradnje" msgid "Quantity" msgstr "Količina" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "Potrebna količina za nalog za izgradnju" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Stavka izgradnje mora imati izlaz izgradnje, jer je nadređeni deo markiran da može da se prati" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format 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:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Stavka zaliha je prealocirana" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Količina alokacije mora da bude veća od nule" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "Količina mora da bude 1 za zalihe koje su serijalizovane" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "Izabrana stavka zaliha se ne slaže sa porudžbinom sa spiska materijala" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "Stavka zaliha" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "Izvor stavke zaliha" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "Količina zaliha za alociranje za izgradnju" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "Ugradi u" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "Stavka zaliha odredišta" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "Nivo izgradnje" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "Ime dela" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "Naziv koda projekta" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "Kreiraj podređene izgradnje" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "Automatski generiši podređene naloge za izgradnju" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "Izlaz izgradnje" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "Izlaz izgradnje se ne slaže sa nadređenom izgradnjom" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "Izlazni deo se ne slaže sa delom Naloga za Izgradnju" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "Ovaj izlaz izgradnje je već kompletiran" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "Ovaj izlaz izgradnje nije u potpunosti alociran" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "Unesi količinu za izlaz izgradnje" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "Brojčana količina potrebna za delove koji mogu da se prate" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Potrebna je brojčana količina, jer opis materijala sadrži delove koji se mogu pratiti" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "Serijski brojevi" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "Unesi serijske brojeve za izlaz izgradnje" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "Lokacija" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "Lokacija zaliha za izlaz izgradnje" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "Automatski alociraj serijske brojeve" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatski alociraj tražene stavke sa odgovarajućim serijskim brojevima" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "Sledeći serijski brojevi već postoje ili su neispravni" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "Lista izlaza izgradnje se mora obezbediti" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "Lokacija zaliha za otpisane izlaze" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "Odbaci alokacije" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "Odbaci bilo kojiu alokaciju zaliha za otpisane izlaze" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "Razlog za otpisane izlaz(e) izgradnje" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "Lokacija za završene izlaze izgradnje" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "Prihvati nekompletirane Alokacije" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "kompletiraj izlaze ako zalihe nisu u potpunosti alocirane" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "Troši alocirane zalihe" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "Troši bilo koje zalihe koje su već alocirane za ovu izgradnju" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "Ukloni nekompletirane izlaze" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "Izbriši svei izlaze izgradnje koji nisu kompletirani" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "Nije dozvoljeno" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "Prihvati kao potrošeno od strane ovog naloga za izgradnju" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "Izmesti bre završetka ovog naloga za izgradnju" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "Sveukupne izdvojene zalihe" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Šta želite da radite sa viškom stavki u zalihama koje su dodeljene nalogu za izgradnju?" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "Neke stavke zaliha su prealocirane" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "Prihvati nealocirano" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Prihvati da stavke zaliha nisu u potpunosti alocirane za ovaj nalog za izgradnju" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "Tražene zalihe nisu u potpunosti alocirane" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "Prihvati nekompletirano" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "Prihvati da je traženi broj izlaza izgradnje nekompletan" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "Traženi broj izgradnji nije kompletan" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "Nalog za izgradnju ima otvoren potčinjene naloge za izgradnju" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "Nalog za izgradnju mora biti u stanju produkcije" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "Nalog za izgradnju ima nekompletne izlaze" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "Porudžbina izgradnje" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "Izlaz izgradnje" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "Izlaz izgradnje mora da referencira istu izgradnju" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "Stavka porudžbine za izradu" -#: build/serializers.py:945 +#: build/serializers.py:946 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:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "Stavka mora da bude u zalihama" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Dostupna količina ({q}) premašena" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "Izlaz izgradnje mora da određen za alokaciju praćenih delova" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Izlaz izgradnje ne može biti određen za alokaciju nepraćenih delova" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "Stavke alociranja se moraju odrediti" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Lokacija zaliha koje će da budu izvor delova (ostavi prazno ukoliko uzimate sa bilo koje lokacije)" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "Isključi lokaciju" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "Isključi stavke zaliha za ovu selektovanu lokaciju" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "Zamenljive zalihe" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Stavke zaliha koje su na različitim lokacijama se mogu međusobno menjati" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "Zamenske zalihe" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "Dozvoli alociranje delova koji su zamenski" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "Opcionalne stavke" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "Alociraj opcione BOM stavke na nalog za izgradnju" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "Greška prilikom startovanja auto alociranja" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "Referenca BOM" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "BOM ID dela" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "BOM ime dela" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "Deo dobavljača" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "Alocirana količina" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "Referenca izgradnje" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "Ime kategorije dela" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "Može da se prati" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "Nasleđen" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "Dozvoli varijante" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "BOM stavka" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "Alocirane zalihe" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "Po narudžbini" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "U proizvodnji" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "Spoljašnje zalihe" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "Dostupne zalihe" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "Dostupne zamenske zalihe" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "Dostupne varijante zaliha" @@ -1429,544 +1441,544 @@ msgstr "Nisu obezbeđeni ispravni kodovi valuta" msgid "No plugin" msgstr "Nema dodataka" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "Ažurirano" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "Vreme poslednjeg ažuriranja" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "Jedinstveni kod projekta" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "Opis projekta" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "Korisnik ili grupa odgovorni za ovaj projkat" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "Ključ za podešavanje" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "Vrednost podešavanja" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "Izabrana vrednost nije ispravna opcija" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "Vrednost mora da bude boolean tipa" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "Vrednost mora da bude integer tipa" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "Vrednost mora biti broj" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "Vrednost ne prolazi test ispravnosti" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "Tekstualni ključ mora da bude jedinstven" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "Korisnik" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "Prelomna količina cene" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "Cena" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "Cena jedinice za određenu količinu" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "Krajnja tačka" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "Krajnja tačka na kojoj je primljen zahtev za izmenu web stranice" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "Ime ovog zahteva za izmenu stranice" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Aktivan" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "Da li je ovaj zahtev za izmenu aktivan?" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "Token" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "Token za pristup" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "Tajna" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "Deljena tajna za HMAC" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "ID poruke" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "Jedinstveni identifikator za ovu poruku" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "Računar" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "Računar koji je primio ovu poruku" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "Zaglavlje" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "Zaglavlje ove poruke" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "Telo" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "Telo ove poruke" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "Krajnja tačka na kojoj je ova poruka primljena" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "Radilo se na " -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "Da li je rad sa ovom porukom završen?" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "Id" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "Naslov" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Link" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "Objavljeno" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "Autor" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "Rezime" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "Čitaj" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "Da li je ova stavka vesti pročitana" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "Slika" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "Datoteka slike" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "Ciljni tip modela za ovu sliku" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "Ciljni ID modela za ovu sliku" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "Posebna jedinica" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "Simbol jedinice mora biti jedinstven" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "Ime jedinice mora da bude ispravan identifikator" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "Ime jedinice" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "Simbol" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "Opcioni simbol jedinice" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "Definicija" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "Definicija jedinice" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "Prilog" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "Nedostaje datoteka" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "Nedostaje eksterni link" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "Izaberite datoteku za prilog" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "Komentar" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "Komentar priloga" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "Datum učitavanja" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "Datum kada je datoteka učitana" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "Veličina datoteke" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "Veličina datoteke u bajtovima" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "Određen je neispravan tip modela za prilog" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "Posebno stanje" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "Posebna stanja" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "Referentni status podešen" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "Status je podešen i produžen je sa ovim posebnim stanjem" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "Logički ključ" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "Stanje logičkog ključa je jednako posebnom ključu u poslovnoj logici" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "Vrednost" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "Numerička vrednost koja će biti sačuvana u bazi podataka modela" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "Ime stanja" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "Etiketa" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "Etiketa koja će biti prikazana na korisničkoj strani" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "Boja" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "Boja koja će biti prikazana na korisničkoj strani" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "Model" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "Model ovog stanja je povezan sa " -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "Model mora biti izabran" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "Ključ mora biti izabran" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "Logički ključ mora biti izabran" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "Ključ mora da se razlikuje od logičkog ključa" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "Validna referenca statusa klase mora biti dostavljena" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "Ključ mora biti različit od logičkog ključa referentnog statusa" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "Logički ključ mora biti među logičkim ključevima referentnog statusa" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "Naziv mora biti različit od naziva u statusu reference" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "Lista odabira" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "Liste odabira" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "Ime liste odabira" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "Opis liste odabira" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "Zaključano" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "Da li je ova lista odabira zaključana?" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "Da li se ova lista odabira može koristiti?" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "Ekstenzija/dodatak za izvor" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "Ekstenzija koja pruža listu odabira" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "String izvora" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "Opcioni string koji identifikuje izvor koji se koristi za ovu listu" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "Podrazumevani unos" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "Podrazumevani unos za ovu listu odabira" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "Kreirano" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "Datum i vreme kada je ova lista odabira kreirana" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "Poslednje ažuriranje" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "Datum i vreme kada je ova lista odabira ažurirana" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "Unos liste odabira" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "Unosi liste odabira" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "Lista odabira kojoj ovaj unos pripada" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "Vrednost ovog unosa liste odabira" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "Naziv ovog unosa liste odabira" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "Opis ovog unosa liste odabira" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "Da li je unos ove liste odabira aktivan?" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "Skeniranje bar koda" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Podaci" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "Podaci bar koda" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "Korisnik koji je skenirao bar kod" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "Vremenski trag" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "Datum i vreme skeniranja bar koda" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "URL krajnja tačka kojaj je obradila bar kod" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "Kontekst" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "Kontekst podataka za skeniranje bar koda" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "Odgovor" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "Podaci odgovora za skeniranje bar koda" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "Rezultat" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "Da li je skeniranje bar koda bilo uspešno?" @@ -1988,7 +2000,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:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "Stavke primljene" @@ -2004,80 +2016,88 @@ msgstr "Stavke su primljene uprkos nalogu za povrat" msgid "Error raised by plugin" msgstr "Greška je aktivirala ekstenziju" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "Pokrenuto je" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "Čekaju se zadaci" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "Planirani zadaci" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "Propali zadaci" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "ID zadatka" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "Jedinstveni ID zadatka" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "Zaključaj" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "Vreme zaključavanja" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "Naziv zadatka" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "Funkcija" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "Ime funkcije" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "Argumenti" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "Argumenti zadatka" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "Ključne reči argumenata" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "Ključne reči argumenata zadatka" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "Ime datoteke" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "Tip modela" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "Korisnik nema dozvolu da napravi ili izmeni priloge za ovaj model" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "Lista odabira je zaključana" @@ -2188,8 +2208,8 @@ msgstr "Koliko često ažurirati devizne kurseve (podesi na nulu za onemogućti) #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "dani" @@ -2417,8 +2437,8 @@ msgstr "Kopiraj šablone parametara kategorije" msgid "Copy category parameter templates when creating a part" msgstr "Kopiraj šablone parametara kategorije prilikom pravljenja dela" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "Šablon" @@ -2431,8 +2451,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:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "Komponenta" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "Podrazumevano je da su delovi virtuelni" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "Prikaži ulaze u Pregledima" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "Prikaži čarobnjaka za importovanje u nekim pregledima delova" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "Prikaži povezane delove" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "Prikaži povezane delove za deo" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "Inicijalni podaci zaliha" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "Dozvoli kreiranje inicijalne alihe prilikom dodavanja novog dela" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "Podaci inicijalnog dobavljača" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Dozvoli kreiranje inicijalnog dobavljača prilikom dodavanja novog dela" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "Format prikazivanja imena dela" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "Format u kome će se prikazivati ime dela" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "Podrazumevana ikona za kategoriju dela" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "Podrazumevana ikona za kategoriju dela (prazno znači bez ikone)" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "Zahtevaj jedinice parametara" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "Ako su jedinice date, vrednosti parametara moraju odgovarati datim jedinicama" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "Minimalan broj decimalnih mesta za cene" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Minimalan broj decimalnih mesta prilikom generisanja cenovnih podataka" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "Maksimalan broj decimalnih mesta za cene" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Maksimalan broj decimalnih mesta prilikom generisanja cenovnih podataka" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "Koristi cene dobavljača" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Uključi pauziranje cene dobavljača u sveukupnom računanju cene" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "Premosti istorijat kupovina" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Prethodne cene narudžbenice zamenjuje pauze cena dobavljača" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "Koristi cene stavki u zalihama" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Koristi cene koje su ručno unete u podatke zaliha" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "Godina cena stavki u zalihama" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Odstrani stavke zaliha iz kalkulacija cena, koje su starije od ovog broja dana" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "Koristi drugačije cene" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "Uključi drugačije cene u sveukupnim kalkulacijama cene" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "Samo aktivne varijante" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "Koristi samo aktivne varijante za određivanje varijante cene" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "Vremenski period za ponovno određivanje cena" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "Broj dana koji treba da prođe da bi se cene delova automatski ažurirale" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "Interne cene" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "Omogući interne cene za delove" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "Premošćavanje internih cena" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "Ako su dostupne, interne cene premošćuju kalkulacije opsega cena" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "Omogući štampanje etiketa" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "Omogući štampanje etiketa preko web interfejsa" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "DPI slike etikete" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "DPI rezolucija prilikom generisanja slikovne datoteke za dodatak koji štampa etikete" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "Omogući izveštaje" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "Omogući generisanje izveštaja" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "Mod otklanjanja grešaka" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "Generiši izveštaje u modu za otklanjanje grešaka (izlaz je u HTML)" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "Greške evidencije izveštaja" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "Greške evidentiranja koje se dese prilikom generisanja izveštaja" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "Veličina stranice" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "Podrazumevana veličina strane za izveštaje u PDF formatu" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "Globalno jedinstveni serijski brojevi" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "Serijski brojevi za stavke zaliha moraju da budu globalno jedinstveni" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "Automatski popuni serijske brojeve" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "Automatski popuni serijske brojeve u obrascima" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "Obriši ispražnjene zalihe" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "Ovo određuje podrazumevano ponašanje kada je stavka zaliha istrošena" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "Šablon koda serije" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "Šablon za generisanje podrazumevanih kodova serije stavki u zalihama" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "Datum isteka zaliha" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "Omogući funkcionalnost isteka zaliha" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "Prodaja isteklih zaliha" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "Dozvoli prodaju isteklih zaliha" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "Vreme zastarevanja zaliha" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "Broj dana tokom kojih će se stavke zaliha smatrati zastarelim pre isteka" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "Izrada sa isteklim zalihama" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "Dozvoli izradu sa isteklim zalihama" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "Vlasnička kontrola zaliha" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "Omogući vlasničku kontrolu nad lokacijama zaliha i stavkama" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "Podrazumevana ikonica lokacije zaliha" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "Podrazumevana ikonica lokacije zaliha (prazno znači da nema ikonice)" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "Prikaži instalirane stavke sa zaliha" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "Prikaži instalirane stavke sa zaliha u stok tabelama" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "Proveri spisak materijala pri instalaciji stavki" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Instalirane stavke sa zaliha moraju postojati u spisku materijala nadređenog dela" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "Dozvoli transfer van zaliha" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Dozvoli da stavke sa zaliha koje nisu na zalihama budu premeštane između lokacija zaliha" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "Referentni šablon naloga za izradu" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "Potreban šablon za generisanje referentnog polja naloga za izradu" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "Potreban odgovoran vlasnik" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "Odgovoran vlasnik mora biti dodeljen svakom nalogu" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "Potreban aktivan deo" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "Spreči kreiranje naloga za izradu za neaktivne delove" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "Potreban zaključan deo" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "Spreči kreiranje nalogaza izradu za otključane delove" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "Potreban validan spisak materijala" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "Spreči kreiranje naloga za izradu pre validacije spiska materijala" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "Potrebno završavanje podređenih naloga" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "Spreči završavanje naloga za izradu pre završavanja svih podređenih naloga" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "Blokiraj dok ne prođe test" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "Prikazuj informacije o popisu dela (ukoliko je omogućena funkcionalnost popisa)" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "Dužina stringa u tabeli" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "Maksimalna dužina stringova je prikazana u tabelarnom pregledu" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "Primaj izveštaje o greškama" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "Primaj notifikacije za sistemske greške" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "Poslednje korišćene mašine za štampanje" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "Sačuvaj poslednju korišćenu mašinu za štampanje za korisnika" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "Dobavljač je aktivan" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "Proizvođač" @@ -3546,8 +3558,8 @@ msgstr "Broj telefona kontakta" msgid "Contact email address" msgstr "Email adresa kontakta" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "Kontakt" @@ -3591,7 +3603,7 @@ msgstr "Da li ova kompanija proizvodi delove?" msgid "Default currency used for this company" msgstr "Podrazumevana valuta za ovu kompaniju" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "Adrese" @@ -3701,8 +3713,8 @@ msgstr "Izaberi deo" msgid "Select manufacturer" msgstr "Izaberi proizvođača" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "Broj dela proizvođača" @@ -3730,7 +3742,7 @@ msgstr "Naziv parametra" msgid "Parameter value" msgstr "Vrednost parametra" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Jedinice" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Povezani delovi dobavljača moraju referencirati isti osnovni deo" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "Dobavljač" msgid "Select supplier" msgstr "Izaberi dobavljača" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "Jedinica za držanje dobavljačevih zaliha" @@ -3782,8 +3794,8 @@ msgstr "URL za link dela eksternog dobavljača" msgid "Supplier part description" msgstr "Opis dela dobavljača" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "Opis dela dobavljača" msgid "Note" msgstr "Beleška" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "osnovni trošak" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimalna naplata (npr. taksa za slaganje)" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "Pakovanje" @@ -3818,7 +3830,7 @@ msgstr "Količina pakovanja" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Ukupna količina dostavljena u jednom pakovanju. Ostaviti prazno za pojedinačne stavke." -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "više" @@ -3854,15 +3866,15 @@ msgstr "Podrazumevana valuta koja se koristi za ovog dobavljača" msgid "Company Name" msgstr "Naziv kompanije" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "Na zalihama" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "Broj kopija za štampanje od svakog natpisa" msgid "Connected" msgstr "Konektovano" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "Nepoznato" @@ -4186,101 +4198,105 @@ msgstr "Mašinska konfiguracija" msgid "Config type" msgstr "Tip konfiguracije" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "Referenca naloga" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "Izvanredno" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "Ima šifru projekta" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "Kreirano do strane" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "Kreirano pre" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "Kreirano nakon" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "Krajnji datum pre" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "Krajnji datum nakon" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "Ima cenu" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "Završen pre" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "Završen nakon" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "Nalog" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "Nalog završen" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "Interni deo" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "Nalog na čekanju" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "Završeno" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "Ima isporuku" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Nalog za kupovinu" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "Nalog za kupovinu" msgid "Sales Order" msgstr "Nalog za prodaju" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: 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/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "Ukupna cena" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "Totalna cena ovog naloga" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "Valuta naloga" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "Valuta za ovaj nalog (ostaviti prazno za podrazumevanu valutu kompanije)" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "Kontakt se ne poklapa sa izabranom kompanijom" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "Opis naloga (opciono)" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "Izaberi šifru projekta za ovaj nalog" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "Link ka eksternoj stranici" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Ciljani datum" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Očekivani datum za isporuku. Nalog će biti zastareo nakon ovog datuma." -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "Datum izdavanja" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "Datum kada je nalog izdat" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "Korisnik ili grupa odgovorni za ovaj nalog" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "Lice za kontakt za ovaj nalog" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "Adresa kompanije za ovaj nalog" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "Referenca naloga" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "Status" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "Status naloga za kupovinu" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "Kompanija od koje su stavke naručene" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "Referenca dobavljača" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "Referentni kod dobavljača naloga" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "primljeno od strane" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "Datum kada je nalog završen" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "Odredište" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "Odredište za primljene stavke" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "Dobavljač dela se mora poklapati sa dobavljačem naloga za kupovinu" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "Količina mora biti pozitivan broj" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Mušterija" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "Kompanija kojoj se prodaju stavke" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "Status naloga za prodaju" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "Referenca mušterije" -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "Referentni kod mušterijinog naloga" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "Datum isporuke" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "isporučeno od strane" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "Nalog je već završen" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "Nalog je već otkazan" -#: order/models.py:1237 +#: order/models.py:1279 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:1241 +#: order/models.py:1283 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:1246 +#: order/models.py:1288 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:1251 +#: order/models.py:1293 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:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "Količina stavki" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "Referenca stavke porudbžine" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "Beleške stavke porudbžine" -#: order/models.py:1595 +#: order/models.py:1637 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:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "Opis stavke porudžbine (opciono)" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "Dodatni kontekst za ovu porudžbinu" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "Cena jedinice" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "Stavka porudžbine naloga za kupovinu" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "Deo dobavljača se mora poklapati sa dobavljačem" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "Deo dobavljača" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "Primljeno" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "Broj primljenih stavki" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "Kupovna cena" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "Kupovna cena jedinice" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "Dodatna porudbžina naloga za kupovinu" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "Stavka porudžbine naloga za prodaju" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtuelni deo ne može biti dodeljen nalogu za prodaju" -#: order/models.py:1847 +#: order/models.py:1924 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:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "Prodajna cena" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "Prodajna cena jedinice" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "Poslato" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "Isporučena količina" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "Isporuka naloga za prodaju" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "Datum isporuke" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "Datum dostavljanja" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "Datum dostavljanja isporuke" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "Provereno od strane" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "Korisnik koji je proverio ovu isporuku" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Isporuka" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "Broj isporuke" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "Broj praćenja" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "Informacije o praćenju isporuke" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "Broj računa" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "Referentni broj za dodeljeni račun" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "Isporuka je već poslata" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "Isporuka nema alocirane stavke sa zaliha" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "Dodatne porudbžine naloga za prodaju" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "Alokacije naloga za prodaju" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "Stavka sa zaliha nije dodeljena" -#: order/models.py:2218 +#: order/models.py:2301 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:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "Ne mogu se alocirati zalihe porudbžini bez dela" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Alocirana količina ne sme da pređe količinu zaliha" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "Količina mora biti 1 za serijalizovane stavke sa zaliha" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "Nalog za prodaju se ne poklapa sa isporukom" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "Isporuka se ne poklapa sa nalogom za prodaju" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "Porudbžina" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "Referenca isporuke naloga za prodaju" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "Stavka" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "Izaberi stavku sa zaliha za alokaciju" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "Unesi količinu za alokaciju zaliha" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "Referenca naloga za vraćanje" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "Kompanija čije stavke su vraćene" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "Status naloga za vraćanje" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "Vrati stavku porudbžine" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "Stavka sa zaliha mora biti određena" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "Količina vraćanja je premašila količinu zaliha" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "Količina vraćanja mora biti veća od nule" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "Nevažeća količina za serijalizovane stavke sa zaliha" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "Izaberi stavku za vraćanje od mušterije" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "Primljeno datuma" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "Datum kada je ova vraćena stavka primljena" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "Ishod" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "Ishod za ovu stavku porudžbine" -#: order/models.py:2735 +#: order/models.py:2818 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:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "Doda" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "ID naloga" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "ID naloga koji će se duplirati" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "Kopiraj porudžbine" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "Kopiraj stavke porudžbine sa originalnog naloga" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "Kopiraj dodatne porudžbine" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "Kopiraj dodatne stavke porudžbine sa originalnog naloga" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "Stavke porudbžine" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "Završene porudbžine" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "Dupliraj nalog" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "Odredi opcije za dupliranje ovog naloga" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "Nevažeći ID naloga" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "Naziv dobavljača" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "Nalog ne može biti otkazan" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "Dozvoli da nalog bude zatvoren sa nepotpunim porudžbinama" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "Nalog ima nepotpune stavke porudžbine" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "Nalog nije otvoren" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "Automatske cene" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "Automatski izračunaj kupovnu cenu na osnovu podataka o delovima dobavljača" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "Valuta kupovne cene" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "Spoj stavke" -#: order/serializers.py:651 +#: order/serializers.py:658 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:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "Jedinica za praćenje zaliha" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "Interni broj dela" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "Interni naziv dela" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "Deo dobavljača mora biti određen" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "Nalog za kupovinu mora biti određen" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "Dobavljač mora da se poklapa sa nalogom za kupovinu" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "Nalog za kupovinu mora da se poklapa sa dobavljačem" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "Stavka porudbžine" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "Stavka porudžbine se ne poklapa sa nalogom za kupovinu" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "Izaberi odredišnu lokaciju za primljene stavke" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "Unesi šifru ture za nadolazeće stavke sa zaliha" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "Datum isteka" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "Unesi serijske brojeve za nadolazeće stavke sa zaliha" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "Promeni informacije o pakovanju za nadolazeće stavke sa zaliha" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "Dodatne beleške za nadolazeće stavke sa zaliha" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "Bar kod" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "Skeniran bar kod" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "Bar kod je već u upotrebi" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "Celobrojna količina mora biti dostavljena za delove koje je moguće pratiti" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "Stavke porudžbine moraju biti dostavljene" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "Odredišna lokacija mora biti određena" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "Pružene vrednosti bar kodova moraju biti jedinstvene" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "Isporuke" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "Završene isporuke" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "Valuta prodajne cene" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "Alocirane stavke" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "Nisu dostavljeni detalji isporuke" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "Stavka porudžbine nije asocirana sa ovim nalogom" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "Količina mora biti pozitivna" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "Unesi serijske brojeve za alokaciju" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "Isporuka je već isporučena" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "Isporuka nije povezana sa ovim nalogom" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "Nema pronađenih poklapanja za sledeće serijske brojeve" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "Sledeći serijski brojevi su nedostupni" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "Stavka porudžbine naloga za vraćanje" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "Stavka porudžbine se ne poklapa sa nalogom za vraćanje" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "Stavka porudžbine je već primljena" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "Stavke se mogu primiti samo na osnovu naloga koji su u toku" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "Količina za vraćanje" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "Valuta cene porudžbine" @@ -5142,24 +5174,24 @@ msgstr "Ima revizije" msgid "BOM Valid" msgstr "Spisak materijala validan" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "Deo sklopa se može testirati" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "Deo komponente se može testirati" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "Koristi" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Kategorija dela" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "Kategorije delova" @@ -5191,7 +5223,7 @@ msgstr "Podrazumevane ključne reči za delove ove kategorije" msgid "Icon" msgstr "Ikonica" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "Ikonica (opciono)" @@ -5200,8 +5232,8 @@ msgstr "Ikonica (opciono)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Ova kategorija dela se ne može podesiti kao strukturna jer već ima dodeljene neke delove!" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "Delovi" @@ -5316,7 +5348,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:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "Interni broj dela" @@ -5357,7 +5389,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:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "Minimalne zalihe" @@ -5433,847 +5465,867 @@ msgstr "Vlasnik odgovoran za ovaj deo" msgid "Last Stocktake" msgstr "Poslednji popis" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "Prodaj više" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "Valuta korišćena za vršenje proračuna o cenama" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "Minimalna vrednost spiska materijala" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "Minimalna vrednost komponenti delova" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "Maksimalna vrednost spiska materijala" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "Maksimalna vrednost komponenti delova" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "Minimalna kupovna vrednost" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "Minimalna istorijska kupovna vrednost" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "Maksimalna kupovna vrednost" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "Maksimalna istorijska kupovna vrednost" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "Minimalna interna cena" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "Minimalna cena bazirana na internim sniženjima cena" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "Maksimalna interna cena" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "Maksimalna vrednost bazirana na internim sniženjima cena" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "Minimalna cena dobavljača" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "Minimalna cena dela od eksternih dobavljača" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "Maksimalna cena dobavljača" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "Maksimalna cena dela od eksternih dobavljača" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "Minimalna vrednost varijanti" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "Izračunata minimalna vrednost varijanti delova" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "Maksimalna vrednost varijanti" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "Izračunata maksimalna vrednost varijanti delova" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "Minimalna vrednost" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "Promeni minimalnu vrednost" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "Maksimalna vrednost" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "Promeni maksimalnu vrednost" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "Ukupna izračunata minimalna vrednost" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "Ukupna izračunata maksimalna vrednost" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "Minimalna prodajna cena" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "Minimalna prodajna cena bazirana na osnovu sniženja cena" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "Maksimalna prodajna cena" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "Maksimalna prodajna cena bazirana na osnovu sniženja cena" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "Minimalna prodajna vrednost" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "Minimalna istorijska prodajna cena" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "Maksimalna prodajna vrednost" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "Maksimalna istorijska prodajna cena" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "Deo za popis" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "Broj stavki" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "Broj individualnih unosa zaliha u vreme popisa" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "Ukupne dostupne zalihe za vreme popisa" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Datum" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "Datum kada je izvršen popis" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "Dodatne beleške" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "Korisnik koji je izvršio ovaj popis" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "Minimalna vrednost zaliha" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "Procenjena minimalna vrednost trenutnih zaliha" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "Maksimalna vrednost zaliha" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "Procenjena maksimalna vrednost trenutnih zaliha" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "Izveštaj" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "Fajl izveštaja o popisu (interno generisan)" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "Broj delova" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "Broj delova pokrivenih popisom" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "Korisnik koji je tražio ovaj izveštaj o popisu" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "Smanjenje prodajne cene dela" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "Šablon testa dela" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Nevažeći naziv šablona - mora da uključuje bar jedan alfanumerički karakter" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "Izbori moraju biti jedinstveni" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "Test šabloni mogu biti kreirani samo za delove koje je moguće testirati" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "Test šablon sa istim ključem već postoji za ovaj deo" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "Naziv testa" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "Unesi naziv za ovaj test" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "Test ključ" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "Pojednostavljen ključ za test" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "Opis testa" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "Unesi opis za ovaj test" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "Omogućen" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "Da li je ovaj test omogućen?" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "Neophodno" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "Da li je neophodno da ovaj test prođe?" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "Zahteva vrednost" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "Da li ovaj test zahteva vrednost prilikom dodavanja rezultata testa?" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "Zahteva prilog" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "Da li ovaj test zahteva fajl kao prilog prilikom dodavanja rezultata testa?" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "Izbori" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "Validni izbori za ovaj test (razdvojeni zapetom)" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "Šablon parametra dela" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "Checkbox parametri ne mogu imati jedinice" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "Checkbox parametri ne mogu imati izbore" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "Ime šablona parametra mora biti jedinstveno" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "Naziv parametra" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "Fizičke jedinice za ovaj parametar" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "Opis parametra" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "Polje za potvrdu" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "Da li je ovaj parametar checkbox?" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "Validni izbori za ovaj parametar (razdvojeni zapetom)" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "Lista izbora za ovaj parametar" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "Parametar dela" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "Parametar se ne može modifikovati - deo je zaključan" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "Nije validan izbor za vrednost parametra" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "Nadređeni deo" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "Šablon parametra" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "Vrednost parametra" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "Šablon parametara kategorije dela" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "Podrazumevana vrednost" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "Podrazumevana vrednost parametra" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "Stavke sa spiska materijala se ne mogu modifikovati - sklapanje je zaključano" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "Stavke sa spiska materijala se ne mogu modifikovati - sklapanje varijanti je zaključano" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "Izaberi nadređeni deo" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "Pod-deo" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "Izaberi deo koji će biti korišćen u spisku materijala" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "Količina spiskova materijala za ovu stavku sa spiska materijala" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "Ova stavka sa spiska materijala je opciona" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Ova stavka sa spiska materijala se može potrošiti (nije praćena u nalozima za izradu)" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "Prestarelo" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Procenjena količina otpada prilikom izrade (apsolutna ili u procentima)" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "Referenca stavke sa spiska materijala" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "Beleške stavki sa spiska materijala" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "Suma" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "Suma spiska materijala" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "Validirano" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "Ova stavka sa spiska materijala je validirana" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "Biva nasleđeno" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Ova stavka sa spiska materijala je nasleđivana od spiska materijala za varijante delova" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Stavke sa zaliha za varijante delova se mogu koristiti za ovu stavku sa spiska materijala" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "Količina mora biti ceo broj za delove koji se mogu pratiti" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "Zamenski deo mora biti određen" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "Zamenska stavka sa spiska materijala" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "Zamenski deo ne može biti isti kao glavni deo" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "Nadređena stavka sa spiska materijala" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "Zamenski deo" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "Deo 1" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "Deo 2" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "Izaberi povezan deo" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "Beleška za ovu relaciju" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "Relacija između delova ne može biti kreirana između jednog istog dela" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "Identična veza već postoji" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "Nadređena kategorija" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "Nadređena kategorija dela" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "Podkategorije" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "Rezultati" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "Broj rezultata napravljenih na osnovu ovog šablona" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "Valuta kupovine za ovu stavku sa zaliha" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "Spekulativna količina" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "ID modela" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "Broj delova koji koriste ovaj šablon" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "Originalni deo" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "Izaberi originalni deo za duplikaciju" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "Kopiraj sliku" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "Kopiraj sliku sa originalnog dela" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "Kopiraj spisak materijala" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "Kopiraj spisak materijala sa originalnog dela" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "Kopiraj parametre" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "Kopiraj parametarske podatke sa originalnog dela" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "Kopiraj beleške" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "Kopiraj beleške sa originalnog dela" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "Inicijalna količina zaliha" -#: part/serializers.py:537 +#: part/serializers.py:550 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:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "Inicijalna lokacija zaliha" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "Odredi inicijalnu lokaciju zaliha za ovaj deo" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "Izaberi dobavljača (ostavi prazno za preskakanje)" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "Izaberi proizvođača (ostavi prazno za preskakanje)" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "Broj dela proizvođača" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "Izabrana kompanija nije validan dobavljač" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "Izabrana kompanija nije validan proizvođač" -#: part/serializers.py:615 +#: part/serializers.py:628 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:622 +#: part/serializers.py:635 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:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "Naziv kategorije" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "Izrađivanje" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" +msgstr "" + +#: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 msgid "Stock Items" msgstr "Stavke sa zaliha" -#: part/serializers.py:955 +#: part/serializers.py:983 msgid "Revisions" msgstr "Revizije" -#: part/serializers.py:958 +#: part/serializers.py:987 msgid "Suppliers" msgstr "Dobavljači" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Ukupne zalihe" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "Nealocirane zalihe" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "Varijante zaliha" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "Dupliraj deo" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "Kopiraj inicijalne podatke od drugog dela" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "Početne zalihe" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "Kreiraj deo sa početnom količinom zaliha" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "Informacije o dobavljaču" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "Dodaj inicijalne informacije o dobavljaču za ovaj deo" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "Kopiraj parametre kategorije" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "Kopiraj parametarske šablone sa izabrane kategorije dela" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "Postojeća slika" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "Ime fajla postojeće slike dela" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "Fajl sa slikom ne postoji" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Ograniči izveštaj o popisu na određeni deo, kao i na bilo koje varijante delova" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Ograniči izveštaj o popisu na određenu kategoriju dela, kao i na bilo koje podređene kategorije" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Ograniči izveštaj o popisu na određenu lokaciju zaliha, kao i na bilo koje podređene lokacije" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "Ne uključuj eksterne zalihe" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "Ne uključuj stavke sa zaliha u eksternim lokacijama" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "Generiši izveštaj" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "Generiši izveštaj koji sadrži sračunate podatke sa popisa" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "Ažuriraj delove" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "Ažuriraj izabrane delove sračunatim podacima popisa" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "Funkcionalnost popisa nije omogućena" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "Provera pozadinskog radnika nije uspjela" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "Minimalna cena" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "Izmeni izračunatu vrednost za minimalnu cenu" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "Minimalna valuta cene" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "Maksimalna cena" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "Izmeni izračunatu vrednost maksimalne cene" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "Maksimalna valuta cene" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "Ažuriraj" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "Ažuriraj cene za ovaj deo" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, 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:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "Minimalna cena ne sme biti veća od maksimalne cene" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "Maksimalna cena ne sme biti manja od minimalne cene" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "Izaberi nadređeni sklop" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "Izaberi komponentu dela" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "Može se izgraditi" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "Izaberi deo sa kog će se kopirati spisak materijala" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "Ukloni postojeće podatke" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "Ukloni postojeće stavke sa spiska materijala pre kopiranja" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "Uključi nasleđeno" -#: part/serializers.py:1940 +#: part/serializers.py:1977 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:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "Preskoči nevažeće vrste" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "Omogući ovu opciju za preskakanje nevažećih vrsta" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "Kopiraj zamenske delove" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopiraj zamenske delove prilikom duplikacije stavki sa spiska materijala" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "Pruža ugrađenu podršku za bar kodove" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "Pruža ugrađenu podršku za bar kodove" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "Kratki prefiks bar koda" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "Prilagođava prefiks koji se koristi za kratke bar kodove, može biti korisno u okruženjima sa više instanci aplikacije" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "Pruža podršku za štampanje PDF natpisa" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "Debug mod" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "Omogućava debug mod - vraća sirov HTML umesto PDF-a" @@ -6857,43 +6958,43 @@ msgstr "Preskoči natpise" msgid "Skip this number of labels when printing label sheets" msgstr "Preskoči ovaj broj natpisa pri štampanju strane sa natpisima" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "Border" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "Štampa border oko svakog natpisa" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "Lendskejp" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "Štampa stranu sa natpisima u landscape modu" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "Štampač natpisa" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "Stavlja više natpisa na jednu stranu" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "Natpis je prevelik za veličinu stranice" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "Nijedan natpis nije generisan" @@ -7046,21 +7147,21 @@ msgstr "Plugin" msgid "Method" msgstr "Metod" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "Nije pronađen autor" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "Plugin '{p}' nije kompatibilan sa trenutnom verzijom aplikacije {v}" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "Plugin zahteva najmanje verziju {v}" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "Plugin zahteva najviše verziju {v}" @@ -7345,7 +7446,7 @@ msgstr "Filteri" 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:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "Šablonski fajl" @@ -7357,56 +7458,56 @@ msgstr "Veličina strane za PDF izveštaje" msgid "Render report in landscape orientation" msgstr "Renderuj izveštaj u landscape orijentaciji" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "Širina (u milimetrima)" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "Širina natpisa, u milimetrima" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "Visina (u milimetrima)" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "Visina natpisa, u milimetrima" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "Isečak" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "Izveštaj isečka fajla" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "Opis isečka fajla" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "Sredstvo" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "Izveštaj fajla sredstva" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "Opis fajla sredstva" @@ -7694,7 +7795,7 @@ msgstr "Podrazumevana ikonica za sve lokacije koje nemaju podešenu ikonicu (opc msgid "Stock Location" msgstr "Lokacija zaliha" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "Lokacija zaliha" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "Eksterna" @@ -8599,115 +8700,115 @@ msgstr "Obriši" msgid "Permission to delete items" msgstr "Dozvola za brisanje stavki" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "Admin" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "Popis" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "Nalozi za kupovinu" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "Nalozi za prodaju" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "Nalozi za vraćanje" diff --git a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po index b30836053d..b2d109e768 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:15\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -19,7 +19,7 @@ msgstr "" #: InvenTree/AllUserRequire2FAMiddleware.py:42 msgid "You must enable two-factor authentication before doing anything else." -msgstr "" +msgstr "Du måste aktivera tvåfaktorsautentisering innan du kan göra något annat." #: InvenTree/api.py:355 msgid "API endpoint not found" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "Kunde inte konvertera {original} till {unit}" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "Ogiltigt antal angivet" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "Information om felet finns under Error i adminpanelen" @@ -108,9 +108,9 @@ msgstr "Ange datum" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "Referensen måste matcha obligatoriskt mönster" msgid "Reference number is too large" msgstr "Referensnumret är för stort" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "Ogiltigt val" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "Namn" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "Beskrivning" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "Beskrivning (valfritt)" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "Sökväg" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "Markdown anteckningar (valfritt)" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "Streckkodsdata" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "Tredje parts streckkodsdata" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "Streckkodsdata" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "Unik hash med streckkodsdata" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "Befintlig streckkod hittades" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "Serverfel" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "Ett fel har loggats av servern." -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "Måste vara ett giltigt nummer" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "Välj valuta från tillgängliga alternativ" @@ -526,29 +526,29 @@ msgstr "Överskott får inte överstiga 100%" msgid "Invalid value for overage" msgstr "Ogiltigt värde för överskott" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Orderstatus" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "Föregående tillverkning" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "" msgid "Part" msgstr "Del" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "Kategori" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Utfärdad av" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" -msgstr "" +msgstr "Tilldelad till" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" -msgstr "" +msgstr "Skapad före" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" -msgstr "" +msgstr "Skapad efter" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" -msgstr "" +msgstr "Har startdatum" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "" @@ -646,16 +646,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Tillverkningen måste avbrytas innan den kan tas bort" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "Valfri" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "" @@ -663,15 +663,15 @@ msgstr "" msgid "Tracked" msgstr "Spårad" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "Testbar" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "Allokerad" @@ -682,52 +682,56 @@ msgstr "Allokerad" msgid "Available" msgstr "Tillgänglig" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Byggorder" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "Byggordrar" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "Ogiltigt val för överordnad bygge" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "Tillverknings order referens" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "Tillverknings order referens" msgid "Reference" msgstr "Referens" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Tillverknings order till vilken detta produkt är tilldelad" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "Välj del att tillverka" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "Försäljningsorderreferens" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "Försäljningsorder till vilken detta bygge allokeras" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "Källa Plats" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Välj plats att ta lager från för detta bygge (lämna tomt för att ta från någon lagerplats)" -#: build/models.py:291 +#: build/models.py:299 +msgid "External Build" +msgstr "" + +#: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 msgid "Destination Location" msgstr "Destinationsplats" -#: build/models.py:296 +#: build/models.py:310 msgid "Select location where the completed items will be stored" msgstr "Välj plats där de färdiga objekten kommer att lagras" -#: build/models.py:300 +#: build/models.py:314 msgid "Build Quantity" msgstr "Tillverkat antal" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "Antal lagerobjekt att bygga" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "Slutförda objekt" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "Antal lagerposter som har slutförts" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "Tillverknings status" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "Tillverkning statuskod" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "Batchkod" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "Batch-kod för denna byggutdata" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "Skapad" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "Datum för slutförande" -#: build/models.py:350 +#: build/models.py:364 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:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "Slutförandedatum" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "slutfört av" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "Utfärdad av" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "Användare som utfärdade denna tillverknings order" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Ansvarig" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "Extern länk" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Länk till extern URL" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Projektkod" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Tillverknings order {build} har slutförts" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "En tillverknings order har slutförts" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "Ingen byggutgång angiven" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "Byggutgång är redan slutförd" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "Byggutgång matchar inte bygg order" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "" msgid "Quantity" msgstr "Antal" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Byggobjekt måste ange en byggutgång, eftersom huvuddelen är markerad som spårbar" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Tilldelad kvantitet ({q}) får inte överstiga tillgängligt lagersaldo ({a})" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Lagerposten är överallokerad" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Allokeringsmängden måste vara större än noll" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "Antal måste vara 1 för serialiserat lager" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "Artikel i lager" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "Källa lagervara" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "Lagersaldo att allokera för att bygga" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "Installera till" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "Destination lagervara" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "Bygg utdata" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "Byggutdata matchar inte överordnad version" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "Serienummer" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "Ange serienummer för att tillverkade produkter" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "Plats" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "En lista över tillverkade produkter måste anges" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "Lagerplats för skrotade produkter" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "Ignorera alla lagerallokeringar för skrotade produkter" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "Plats för färdiga produkter" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "Slutför utfall om lager inte har tilldelats fullt ut" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "Ta bort ofullständiga produkter" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "Ta bort eventuella produkter som inte har slutförts" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "Acceptera ofullständig" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "Acceptera att det önskade antalet produkter som inte har slutförts" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "Tillverknings ordern är ofullständig" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "" -#: build/serializers.py:945 +#: build/serializers.py:946 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "" @@ -1429,544 +1441,544 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "Unik projektkod" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "Projektbeskrivning" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "Användare" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Aktiv" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Länk" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "Bild" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "Bilaga" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "Saknad fil" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "Extern länk saknas" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "Välj fil att bifoga" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "Kommentar" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "Filstorlek" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "Etikett" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "Färg" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "Skapad" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "Senast uppdaterad" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "Streckkodsdata" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "" @@ -1988,7 +2000,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "" @@ -2004,80 +2016,88 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "Schemalagda uppgifter" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "Filnamn" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2188,8 +2208,8 @@ msgstr "" #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "dagar" @@ -2417,8 +2437,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "Mall" @@ -2431,8 +2451,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "Delar är virtuella som standard" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "Visa import i vyer" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "Visa importguiden i vissa delvyer" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "Visa relaterade delar" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "Visa relaterade delar för en del" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "Visningsformat för delnamn" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "Formatera för att visa artikelnamnet" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "Interna priser" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "Aktivera etikettutskrift" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "Aktivera etikettutskrift från webbgränssnittet" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "Etikettbild DPI" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "Aktivera rapporter" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "Aktivera generering av rapporter" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "Debugläge" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "Sidstorlek" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "Standard sidstorlek för PDF-rapporter" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "Tillverkare" @@ -3546,8 +3558,8 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "Kontakt" @@ -3591,7 +3603,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "Adress" @@ -3701,8 +3713,8 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "" @@ -3730,7 +3742,7 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "Leverantör" msgid "Select supplier" msgstr "Välj leverantör" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "" @@ -3782,8 +3794,8 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "" @@ -3818,7 +3830,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "" @@ -3854,15 +3866,15 @@ msgstr "" msgid "Company Name" msgstr "Företagsnamn" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "I lager" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "" @@ -4186,101 +4198,105 @@ msgstr "" msgid "Config type" msgstr "" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "Har projektkod" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "Slutförd" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "" msgid "Sales Order" msgstr "Försäljningsorder" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Måldatum" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "Status" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "Mål" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Kund" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "" -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1241 +#: order/models.py:1283 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1251 +#: order/models.py:1293 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "" -#: order/models.py:1595 +#: order/models.py:1637 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1847 +#: order/models.py:1924 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "Skickad" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "Leveransdatum" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "Fakturanummer" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2218 +#: order/models.py:2301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2735 +#: order/models.py:2818 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "Leverantörsnamn" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "Streckkod" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "" @@ -5142,24 +5174,24 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "" @@ -5191,7 +5223,7 @@ msgstr "" msgid "Icon" msgstr "Ikon" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "Ikon (valfritt)" @@ -5200,8 +5232,8 @@ msgstr "Ikon (valfritt)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "Artiklar" @@ -5316,7 +5348,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5357,7 +5389,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "" @@ -5433,847 +5465,867 @@ msgstr "" msgid "Last Stocktake" msgstr "" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Datum" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "Underkategorier" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "Kopiera bild" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:537 +#: part/serializers.py:550 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "Kategorinamn" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "Leverantörer" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "Generera rapport" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "Kontroll av bakgrundsarbetare misslyckades" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "Uppdatera" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -6857,43 +6958,43 @@ msgstr "" msgid "Skip this number of labels when printing label sheets" msgstr "" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "" @@ -7046,21 +7147,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7345,7 +7446,7 @@ msgstr "" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "" @@ -7357,56 +7458,56 @@ msgstr "" msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "" @@ -7694,7 +7795,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "" @@ -8599,115 +8700,115 @@ msgstr "Radera" msgid "Permission to delete items" msgstr "" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "" diff --git a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po index 65bad4ba80..5a6bf66444 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:15\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "ปริมาณสินค้าไม่ถูกต้อง" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "" @@ -108,9 +108,9 @@ msgstr "ป้อนวันที่" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "" msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "ชื่อ" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "คำอธิบาย" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "ข้อมูลบาร์โค้ด" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "บาร์โค้ดนี้มีในระบบแล้ว" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "เกิดข้อผิดพลาดที่เซิร์ฟเวอร์" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "ต้องเป็นตัวเลข" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "สกุลเงิน" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "" @@ -526,29 +526,29 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "" @@ -646,16 +646,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "" @@ -663,15 +663,15 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "" @@ -682,52 +682,56 @@ msgstr "" msgid "Available" msgstr "" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:291 -msgid "Destination Location" -msgstr "" - -#: build/models.py:296 -msgid "Select location where the completed items will be stored" +#: build/models.py:299 +msgid "External Build" msgstr "" #: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 +msgid "Destination Location" +msgstr "" + +#: build/models.py:310 +msgid "Select location where the completed items will be stored" +msgstr "" + +#: build/models.py:314 msgid "Build Quantity" msgstr "" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "" -#: build/models.py:350 +#: build/models.py:364 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "ออกโดย" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "จำนวนต้องมีค่ามากกว่า 0" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "สถานที่" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "" -#: build/serializers.py:945 +#: build/serializers.py:946 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "" @@ -1429,544 +1441,544 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "ผู้ใช้งาน" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "ลิงก์" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "ไฟล์แนบ" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "ไม่พบไฟล์" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "เลือกไฟล์ที่ต้องการแนบ" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "ความคิดเห็น" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "" @@ -1988,7 +2000,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "" @@ -2004,80 +2016,88 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "ชื่อไฟล์" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2188,8 +2208,8 @@ msgstr "" #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "" @@ -2417,8 +2437,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "" @@ -2431,8 +2451,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "" @@ -3546,8 +3558,8 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "" @@ -3591,7 +3603,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "" @@ -3701,8 +3713,8 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "" @@ -3730,7 +3742,7 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "" @@ -3782,8 +3794,8 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "" @@ -3818,7 +3830,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "" @@ -3854,15 +3866,15 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "" @@ -4186,101 +4198,105 @@ msgstr "" msgid "Config type" msgstr "" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "สำเร็จแล้ว" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "สถานะ" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "" -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1241 +#: order/models.py:1283 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1251 +#: order/models.py:1293 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "" -#: order/models.py:1595 +#: order/models.py:1637 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1847 +#: order/models.py:1924 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "จัดส่งแล้ว" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2218 +#: order/models.py:2301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2735 +#: order/models.py:2818 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "" @@ -5142,24 +5174,24 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "" @@ -5191,7 +5223,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "" @@ -5200,8 +5232,8 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "ชิ้นส่วน" @@ -5316,7 +5348,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5357,7 +5389,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "" @@ -5433,847 +5465,867 @@ msgstr "" msgid "Last Stocktake" msgstr "" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:537 +#: part/serializers.py:550 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -6857,43 +6958,43 @@ msgstr "" msgid "Skip this number of labels when printing label sheets" msgstr "" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "" @@ -7046,21 +7147,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7345,7 +7446,7 @@ msgstr "" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "" @@ -7357,56 +7458,56 @@ msgstr "" msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "" @@ -7694,7 +7795,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "" @@ -8599,115 +8700,115 @@ msgstr "" msgid "Permission to delete items" msgstr "" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "" diff --git a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po index 150ff84333..703f3e15dc 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:15\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "{original} birimi {unit} birimine dönüştürülemedi" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "Geçersiz veri sağlandı" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "Hata detaylarını admin panelinde bulabilirsiniz" @@ -108,9 +108,9 @@ msgstr "Tarih giriniz" msgid "Invalid decimal value" msgstr "Geçersiz ondalık değer" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "Referans {pattern} deseniyle mutlaka eşleşmeli" msgid "Reference number is too large" msgstr "Referans sayısı çok fazla" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "Aynı kaynak altında birden fazla aynı isim kullanılamaz" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "Geçersiz seçim" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "Adı" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "Açıklama" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "Açıklama (isteğe bağlı)" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "Yol" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "Markdown notları (isteğe bağlı)" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "Barkod Verisi" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "Üçüncü parti barkod verisi" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "Barkod Hash" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "Barkod verisinin benzersiz hash'i" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "Var olan barkod bulundu" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "Görev Başarısızlığı" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "Arka plan çalışan görevi '{f}' {n} denemeden sonra başarısız oldu" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "Sunucu Hatası" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "Bir hafta sunucu tarafından kayıt edildi." -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "Geçerli bir numara olmalı" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "Para birimi" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "Var olan seçeneklerden bir döviz birimi seçin" @@ -526,29 +526,29 @@ msgstr "Fazlalık %100'ü geçmemelidir" msgid "Invalid value for overage" msgstr "Aşım için geçersiz değer" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Sipariş Durumu" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "Üst Yapım İşi" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "Varyantları Dahil Et" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "Varyantları Dahil Et" msgid "Part" msgstr "Parça" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "Kategori" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "Ata Yapım" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "Bana atandı" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Veren" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "Atanılan Kişi" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "Daha önce oluşturuldu" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "Sonra oluşturuldu" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "Başlangıç tarihi var" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "Başlangıç tarihi önce" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "Başlangıç tarihi sonra" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "Hedef tarihi var" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "Hedef tarihi önce" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "Hedef tarihi sonra" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "Daha önce tamamlandı" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "Sonra tamamlandı" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "En yakın tarih" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "" @@ -646,16 +646,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Yapımın silinebilmesi için önce iptal edilmesi gerekir" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "Sarf Malzemesi" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "İsteğe Bağlı" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "Montaj" @@ -663,15 +663,15 @@ msgstr "Montaj" msgid "Tracked" msgstr "İzlenen" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "Test Edilebilir" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "Ödenmemiş Sipariş" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "Ayrıldı" @@ -682,52 +682,56 @@ msgstr "Ayrıldı" msgid "Available" msgstr "Mevcut" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Yapım İşi Emri" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "Yapım İşi Emirleri" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "Montaj malzeme listesi doğrulanmadı" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "İnaktif bir parça için yapım siparişi oluşturulamaz" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "Kilidi açılmış bir parça için yapım siparişi oluşturulamaz" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "Üst yapım için geçersiz seçim" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "Sorumlu kullanıcı veya grup belirtilmelidir" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "Yapım siparişi parçası değiştirilemez" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "Hedef tarih başlangıç tarihinden sonra olmalıdır" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "Yapım İşi Emri Referansı" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "Yapım İşi Emri Referansı" msgid "Reference" msgstr "Referans" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "Yapımın kısa açıklaması (isteğe bağlı)" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "Yapım işi için parça seçin" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "Satış Emri Referansı" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "Bu yapım işinin tahsis edildiği satış emri" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "Kaynak Konum" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Bu yapım işi için stok alınacak konumu seçin (her hangi bir stok konumundan alınması için boş bırakın)" -#: build/models.py:291 +#: build/models.py:299 +msgid "External Build" +msgstr "" + +#: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 msgid "Destination Location" msgstr "Hedef Konum" -#: build/models.py:296 +#: build/models.py:310 msgid "Select location where the completed items will be stored" msgstr "Tamamlanmış ögelerin saklanacağı konumu seçiniz" -#: build/models.py:300 +#: build/models.py:314 msgid "Build Quantity" msgstr "Yapım İşi Miktarı" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "Yapım işi stok kalemlerinin sayısı" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "Tamamlanmış ögeler" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "Tamamlanan stok kalemlerinin sayısı" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "Yapım İşi Durumu" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "Yapım işi durum kodu" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "Sıra numarası" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "Yapım işi çıktısı için sıra numarası" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "Oluşturulma tarihi" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "İhtiyaca bağlı sipariş başlangıç tarihi" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "Bu ihtiyaca bağlı siparişi için planlanan başlangıç tarihi" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "Hedef tamamlama tarihi" -#: build/models.py:350 +#: build/models.py:364 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Yapım işinin tamamlanması için hedef tarih. Bu tarihten sonra yapım işi gecikmiş olacak." -#: build/models.py:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "Tamamlama tarihi" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "tamamlayan" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "Veren" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "Bu yapım işi emrini veren kullanıcı" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Sorumlu" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "Bu yapım siparişinden sorumlu kullanıcı veya grup" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "Harici Bağlantı" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Harici URL'ye bağlantı" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "Yapım Önceliği" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "Bu yapım siparişinin önceliği" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Proje Kodu" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "Bu yapım siparişi için proje kodu" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "Yapıma ayrılanları tamamlamak için boşaltma görevi başarısız oldu" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "{build} yapım siparişi tamamlandı" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "Bir yapım siparişi tamamlandı" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "İzlenebilir parçalar için seri numaraları sağlanmalıdır" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "Yapım işi çıktısı belirtilmedi" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "Yapım işi çıktısı zaten tamamlanmış" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "Yapım işi çıktısı, yapım işi emri ile eşleşmiyor" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "Miktar sıfırdan büyük olmalıdır" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "Miktar çıktı miktarından büyük olamaz" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "{serial} yapım çıktısı gerekli testleri geçemedi" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "Yapım Siparişi Satır Ögesi" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "Nesne yap" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "Nesne yap" msgid "Quantity" msgstr "Miktar" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "Yapım siparişi için gereken miktar" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Ana parça izlenebilir olarak işaretlendiğinden, yapım işi çıktısı için bir yapım işi ögesi belirtmelidir" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Ayrılan miktar ({q}) mevcut stok miktarını ({a}) aşmamalı" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "Seri numaralı stok için miktar bir olmalı" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "Seçilen stok ögesi malzeme listesi satırıyla eşleşmiyor" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "Stok Kalemi" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "Kaynak stok kalemi" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "Yapım işi için tahsis edilen stok miktarı" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "Kurulduğu yer" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "Hedef stok kalemi" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "Yapım Düzeyi" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "Parça Adı" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "Proje Kodu Etiketi" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "Alt Yapımlar Oluştur" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "Alt yapım siparişlerini otomatik olarak -üret" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "Yapım Çıktısı" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "Yapım çıktısı üst yapım ile eşleşmiyor" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "Çıktı parçası Yapım Siparişi parçası ile eşleşmiyor" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "Bu yapım çıktısı zaten tamamlandı" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "Bu yapım çıktısı tam ayrılmadı" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "Yapım işi çıktısı için miktarını girin" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "İzlenebilir parçalar için tamsayı miktar gerekir" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Malzeme listesi izlenebilir parçalar içerdiğinden tamsayı miktar gereklidir" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "Seri Numaraları" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "Yapım işi çıktısı için seri numaraları girin" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "Konum" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "Yapım çıktısı için stok konumu" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "Seri Numaralarını Otomatik Ayır" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" msgstr "Gerekli ögeleri eşleşen seri numaralarıyla otomatik ayır" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "Şu seri numaraları zaten varlar veya geçersizler" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "Bir yapım çıktıları listesi sağlanmalıdır" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "Hurdaya ayrılan çıktılar için stok konumu" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "Ayırmaları İptal Et" -#: build/serializers.py:522 +#: build/serializers.py:523 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" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "Yapım çıktı(larını) hurdaya ayırma nedeni" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "Tamamlanan yapım çıktıları içi konum" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "Tamamlanmamış Ayırmayı Onayla" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "Stok tamamen ayrılmamışsa çıktıları tamamla" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "Ayrılan Stoku Tüket" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "Bu yapım için zaten ayrılmış olan tüm stokları tüket" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "Tamamlanmamış Çıktıları Kaldır" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "Tamamlanmamış tüm yapım çıktılarını sil" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "İzin verilmedi" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "Bu yapım siparişi tarafından tüketildi olarak kabul et" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "Bu yapım emrini tamamlamadan önce iade et" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "Fazla Ayrılmış Stok" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Yapım siparişine atanan ekstra stok öğelerini nasıl ele almak istersiniz" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "Bazı stok ögeleri fazla ayrıldı" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "Ayrılmamışı Kabul Et" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Stok öğelerinin bu yapım siparişine tam olarak ayrılmadığını kabul edin" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "Gerekli stok tamamen tahsis edilemedi" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "Tamamlanmamış Kabul et" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "Gerekli sayıda derleme çıktısının tamamlanmadığını kabul edin" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "Gerekli yapım işi miktarı tamamlanmadı" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "Yapım siparişinin açık alt yapım emirleri var" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "Yapım siparişi üretim durumunda olmalıdır" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "Yapım siparişinin tamamlanmamış çıktıları var" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "Yapım Satırı" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "Yapım çıktısı" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "Yapım çıktısı aynı yapımı göstermelidir" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "Yapım Satırı Ögesi" -#: build/serializers.py:945 +#: build/serializers.py:946 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part yapım siparişi aynı olan parçayı göstermelidir" -#: build/serializers.py:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "Öge stokta olmalıdır" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Mevcut miktar ({q}) aşıldı" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "İzlenen parçaların ayrılması için yapım çıktısı belirtilmelidir" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "İzlenmeyen parçaların ayrılması için yapım çıktısı belirlenemez" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "Ayrılma ögeleri sağlanmalıdır" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Parçaların alınacağı stok konumu (herhangi bir konumdan almak için boş bırakın)" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "Konum Çıkar" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "Bu seçilen konumdan stok ögelerini içerme" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "Birbirinin Yerine Kullanılabilir Stok" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Birden çok konumdaki stok ögeleri birbirinin yerine kullanılabilir" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "Yedek Stok" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "Yedek parçaların ayrılmasına izin ver" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "İsteğe Bağlı Ögeler" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "Sipariş yapmak için isteğe bağlı ML ögelerini ayır" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "Otomatik ayırma görevini başlatma başarısız oldu" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "ML Referansı" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "ML Parça Kimliği" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "ML Parça Adı" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "Yap" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "Tedarikçi Parçası" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "Ayrılan Miktar" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "Yapım Referansı" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "Parça Sınıfı Adı" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "Takip Edilebilir" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "Miras Alındı" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "Çeşide İzin Ver" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "ML Ögesi" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "Ayrılan Stok" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "Siparişte" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "Üretimde" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "Harici Stok" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "Mevcut Stok" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "Mevcut Yedek Stok" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "Mevcut Turev Stoku" @@ -1429,544 +1441,544 @@ msgstr "Geçerli bir para birimi kodu sağlanmamış" msgid "No plugin" msgstr "Eklenti yok" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "Güncellendi" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "Son güncellemenin zaman damgası" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "Eşsiz proje kodu" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "Proje açıklaması" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "Bu projeden sorumlu kullanıcı veya grup" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "Ayarlar anahtarı" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "Ayarlar değeri" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "Seçilen değer geçerli bir seçenek değil" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "Değer bir boolean değer olmalıdır" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "Değer bir integer değer olmalıdır" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "Değer geçerli bir sayı olmalıdır" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "Değer doğrulama kontrollerini geçemiyor" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "Anahtar dizesi benzersiz olmalı" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "Kullanıcı" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "Fiyat düşürme miktarı" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "Fiyat" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "Belirtilen miktardaki birim fiyat" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "Bitiş Noktası" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "Bu web kancasının alındığı uç nokta" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "Bu web kancası için ad" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Aktif" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "Bu web kancası etkin mi" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "Token" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "Erişim için belirteç" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "Gizli" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "HMAC için paylaşılan gizli bilgi" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "Mesaj Kimliği" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "Bu mesaj için benzersiz tanımlayıcı" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "Sağlayıcı" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "Bu mesajın alındığı ana bilgisayar" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "Başlık" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "Bu mesajın başlığı" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "Gövde" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "Bu mesajın gövdesi" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "Bu mesajın alındığı uç nokta" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "Başlık" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Bağlantı" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "Yayınlandı" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "Yazar" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "Özet" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "Oku" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "Haberi okudunuz mu?" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "Resim" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "Görsel yükleyin" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "Birim simgesi benzersiz olmalıdır" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "Sembol" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "Tanımlama" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "Birim tanımlaması" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "Ek" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "Eksik dosya" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "Bozuk dış bağlantı" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "Eklenecek dosyayı seç" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "Yorum" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "Özel Durum" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "Özel Durumlar" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "Değer" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "Renk" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "Model" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "Model seçilmelidir" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "Anahtar Seçilmelidir" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "Mantıksal anahtar seçilmelidir" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "Kaynak Dize" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "Bu liste için kullanılan kaynağı belirten isteğe bağlı dize" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "Oluşturuldu" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "Seçim Listesi Girişleri" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "Sonuç" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "" @@ -1988,7 +2000,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:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "Alınan Ürünler" @@ -2004,80 +2016,88 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "Çalışıyor" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "Bekleyen Görevler" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "Planlanan Görevler" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "Başarısız Görevler" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "Görev ID" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "Benzersiz Görev ID" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "Kilit" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "Kilit Zamanı" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "Görev Adı" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "Fonksiyon" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "Fonksiyon Adı" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "Argümanlar" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "Görev Argümanları" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "Anahtar Argümanlar" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "Anahtar görev argümanları" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "Dosya adı" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "Model Tipi" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2188,8 +2208,8 @@ msgstr "Döviz kurlarını şu sıklıkla güncelle (etkisizleştirmek için sı #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "günler" @@ -2417,8 +2437,8 @@ msgstr "Kategori Paremetre Sablonu Kopyala" msgid "Copy category parameter templates when creating a part" msgstr "Parça oluştururken kategori parametre şablonlarını kopyala" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "Şablon" @@ -2431,8 +2451,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:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "Bileşen" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "Parçalar varsayılan olarak sanaldır" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "Görünümlerde İçe Aktarmayı Göster" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "Bazı parça görünümlerinde içe aktarma sihirbazını görüntüle" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "İlgili parçaları göster" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "Bir parça için ilgili parçaları göster" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "Başlangıç Stok Verisi" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "Yeni bir parça eklerken başlangıç stoku oluşturmaya izin ver" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "Başlangıç Sağlayıcı Verisi" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Yeni bir parça oluştururken başlangıç sağlayıcı verisi oluşturmaya izin ver" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "Parça Adı Görüntüleme Biçimi" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "Parça adını görüntüleme biçimi" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "Parça Sınıfının Varsayılan Simgesi" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "Parça sınıfı için varsayılan simge (boş bırakılırsa simge kullanılmaz)" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "Parametre Birimlerini Zorunlu Kıl" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "Birimler sağlanırsa, parametre değerleri belirtilen birimlere uymalıdır" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "Minimum Fiyatlandırma Ondalık Basamakları" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Fiiyatlandırma verisini oluştururken gösterilecek ondalık basamakların minimum sayısı" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "Maksimum Fiyatlandırma Ondalık Basamakları" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Fiiyatlandırma verisini oluştururken gösterilecek ondalık basamakların maksimum sayısı" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "Sağlayıcı Fiyatlandırmasını Kullan" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Genel fiyatlandırma hesaplamalarına sağlayıcı fiyat aralıklarını ekle" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "Satın Alma Geçmişini Geçersiz Kılma" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Geçmiş satınalma siparişi fiyatlandırması, sağlayıcı fiyat aralıklarını geçersiz kılar" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "Stok Ögesi Fiyatlandırmasını Kullan" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Fiyatlandırma hesaplamaları için elle girilen stok verisinin fiyatlandırmasını kullan" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "Stok Ögesi Fiyatlandırma Yaşı" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Bu gün sayısından daha eski olan stok kalemlerini fiyatlandırma hesaplamalarından hariç tut" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "Türev Fiyatlandırması Kullan" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "Genel fiyat hesaplamalarına türev fiyatlarını da ekle" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "Yalnızca Etkin Türevler" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "Türev fiyatlandırması için yalnızca etkin türev parçaları kullan" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "Fiyatlandırmayı Yeniden Oluşturma Aralığı" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "Parça fiyatlandrımasının otomatik güncellenmesinden önceki gün sayısı" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "Dahili Fiyatlar" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "Parçalar için dahili fiyatları etkinleştir" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "Dahili Fiyat Geçersiz Kılma" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "Varsa, dahili fiyatlar fiyat aralığı hesaplarını geçersiz kılar" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "Etiket yazdırmayı etkinleştir" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "Web arayüzünden etiket yazdırmayı etkinleştir" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "Etiket Resmi DPI Değeri" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Resim dosyaları üretirken etiket yazdırma eklentilerine sağlanacak DPI çözünürlüğü" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "Raporları Etkinleştir" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "Rapor üretimini etkinleştir" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "Hata Ayıklama Modu" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "Raporları hata ayıklama modunda üret (HTML çıktısı)" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "Rapor Hatalarını Günlüğe Kaydet" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "Raporlar üretirken oluşan hataları günlüğe kaydet" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "Sayfa Boyutu" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "PDF raporlar için varsayılan sayfa boyutu" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "Küresel Çapta Benzersiz Seri Numaraları" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "Stok ögeleri için seri numaraları küresel çapta benzersiz olmalıdır" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "Seri Numaralarını Otomatik Doldur" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "Seri numaralarını formlarda otomatik doldur" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "Tükenen Stoku Sil" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "Bir stok ögesi tükendiğinde varsayılan davranışı belirler" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "Parti Kodu Şablonu" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "Stok ögelerine varsayılan parti kodlarını üretmek için şablon" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "Stok Sona Erme Tarihi" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "Stokun sona erme işlevselliğini etkinleştir" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "Süresi Dolan Stoku Sat" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "Süresi dolan stok satışına izin ver" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "Stok Eskime Süresi" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "Stok öğelerinin son kullanma tarihi geçmeden eskimiş sayıldığı gün sayısı" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "Yapımın Süresi Geçmiş Stoku" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "Süresi geçmiş stok ile yapıma izin ver" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "Stok Sahipliği Kontrolü" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "Stok konumu ve ögeler üzerinde sahiplik kontrolünü etkinleştirin" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "Varsayılan Stok Konumu Simgesi" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "Stok konumu için varsayılan simge (boşsa simge yok demektir)" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "Kurulu Stok Ögelerini Göster" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "Stok tablolarında kurulu stok ögelerini göster" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "Ögelerin kurulumunu yaparken ML'i kontrol et" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Kurulu stok ögeleri üst parçanın ML'nde mevcut olmalıdır" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "Stok Dışı Aktarıma İzin Ver" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Stokta olmayan ögelerin stok konumları arasında aktarılmasına izin ver" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "Yapım Siparişi Referans Kalıbı" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "Yapım Siparişi referans alanını üretmek için gerekli kalıp" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "Sorumlu Sahip Gerektir" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "Her siparişe sorumlu bir yetkili atanmalıdır." -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "Aktif Parça Gerekli" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "Etkin olmayan parçalar için yapı sırası oluşturulmasını önleyin." -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "Kilitli Parça Gerekli" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "Kilitlenmemiş parçalar için yapı sırası oluşturulmasını engelle." -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "Geçerli BOM gereklidir." -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "BOM doğrulanmadan yapı sırası oluşturulmasını engelle." -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "Kapalı Alt Siparişler Gerekli" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "Tüm alt siparişler kapatılana kadar yapı sırası tamamlanmasını engelle." +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "Testler Geçene Kadar Engelle" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "Tablo satır uzunluğu" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "Üretici" @@ -3546,8 +3558,8 @@ msgstr "İletişim telefon numarası" msgid "Contact email address" msgstr "İletişim e-posta adresi" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "İletişim" @@ -3591,7 +3603,7 @@ msgstr "Bu şirket üretim yapıyor mu?" msgid "Default currency used for this company" msgstr "Bu şirket için varsayılan para birimi" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "Adres" @@ -3701,8 +3713,8 @@ msgstr "Parça seçin" msgid "Select manufacturer" msgstr "Üretici seçin" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "ÜPN" @@ -3730,7 +3742,7 @@ msgstr "Parametre adı" msgid "Parameter value" msgstr "Parametre değeri" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Birim" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "Tedarikçi" msgid "Select supplier" msgstr "Tedarikçi seçin" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "" @@ -3782,8 +3794,8 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "" msgid "Note" msgstr "Not" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "temel maliyet" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "Paketleme" @@ -3818,7 +3830,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "çoklu" @@ -3854,15 +3866,15 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "" @@ -4186,101 +4198,105 @@ msgstr "" msgid "Config type" msgstr "" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "Oluşturan" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "Tamamlandı" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "" msgid "Sales Order" msgstr "Sipariş Emri" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "Harici sayfaya bağlantı" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Hedeflenen tarih" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "Sipariş referansı" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "Durum" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "Hedef" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Müşteri" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "" -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1241 +#: order/models.py:1283 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1251 +#: order/models.py:1293 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "" -#: order/models.py:1595 +#: order/models.py:1637 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1847 +#: order/models.py:1924 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "Sevk edildi" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2218 +#: order/models.py:2301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tahsis miktarı stok miktarını aşamaz" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "Seri numaralı stok kalemi için miktar bir olmalı" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "Stok tahsis miktarını girin" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2735 +#: order/models.py:2818 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "Satır Ögeleri" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "" @@ -5142,24 +5174,24 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "Parça Kategorileri" @@ -5191,7 +5223,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "" @@ -5200,8 +5232,8 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "Parçalar" @@ -5316,7 +5348,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "DPN" @@ -5357,7 +5389,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "Minimum Stok" @@ -5433,847 +5465,867 @@ msgstr "" msgid "Last Stocktake" msgstr "" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "Test Adı" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "Test Açıklaması" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "Etkin" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "Gerekli" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "Testi geçmesi için bu gerekli mi?" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "Parametre şablon adı benzersiz olmalıdır" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "Parametre Şablonu" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Bu malzeme listesi, çeşit parçalar listesini kalıtsalıdır" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Çeşit parçaların stok kalemleri bu malzeme listesinde kullanılabilir" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "Alt kategoriler" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:537 +#: part/serializers.py:550 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "Stok Kalemleri" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "Stok Kalemleri" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "Arka plan çalışanı kontrolü başarısız oldu" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -6857,43 +6958,43 @@ msgstr "" msgid "Skip this number of labels when printing label sheets" msgstr "" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "" @@ -7046,21 +7147,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7345,7 +7446,7 @@ msgstr "Filtreler" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "" @@ -7357,56 +7458,56 @@ msgstr "" msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "Genişlik [mm]" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "Etiket genişliği mm olarak belirtilmeli" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "Yükseklik [mm]" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "Etiket yüksekliği mm olarak belirtilmeli" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "" @@ -7694,7 +7795,7 @@ msgstr "" msgid "Stock Location" msgstr "Stok Konumu" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "Stok Konumları" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "" @@ -8599,115 +8700,115 @@ msgstr "" msgid "Permission to delete items" msgstr "Parçaları silme izni" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "Satın Alma Emirleri" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "Satış Emirleri" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "" diff --git a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po index c7a8fcc29e..b474888e62 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:15\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "Не вдалося перетворити {original} на {unit}" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "Невірна кількість" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "Деталі помилки можна знайти на панелі адміністратора" @@ -108,9 +108,9 @@ msgstr "Введіть дату" msgid "Invalid decimal value" msgstr "Неправильне десяткове значення" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "" msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "Назва" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "Опис" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "Опис (опціонально)" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "Шлях" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "Примітки в Markdown (опціонально)" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "Помилка сервера" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "" @@ -526,29 +526,29 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "" msgid "Part" msgstr "Деталь" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "" @@ -646,16 +646,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "Розхідний матеріал" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "" @@ -663,15 +663,15 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "" @@ -682,52 +682,56 @@ msgstr "" msgid "Available" msgstr "" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "Обрати деталь для створення" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:291 -msgid "Destination Location" -msgstr "" - -#: build/models.py:296 -msgid "Select location where the completed items will be stored" +#: build/models.py:299 +msgid "External Build" msgstr "" #: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 +msgid "Destination Location" +msgstr "" + +#: build/models.py:310 +msgid "Select location where the completed items will be stored" +msgstr "" + +#: build/models.py:314 msgid "Build Quantity" msgstr "" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "" -#: build/models.py:350 +#: build/models.py:364 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "" msgid "Quantity" msgstr "Кількість" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "Місце" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "" -#: build/serializers.py:945 +#: build/serializers.py:946 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "Дозволити варіанти" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "" @@ -1429,544 +1441,544 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "Ціна" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "Коментар" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "Дата завантаження" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "Дата завантаження файлу" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "Розмір файлу" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "Розмір файлу в байтах" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "Колір" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "Модель" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "" @@ -1988,7 +2000,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "" @@ -2004,80 +2016,88 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2188,8 +2208,8 @@ msgstr "" #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "" @@ -2417,8 +2437,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "Шаблон" @@ -2431,8 +2451,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "Компонент" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "" @@ -3546,8 +3558,8 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "" @@ -3591,7 +3603,7 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "" @@ -3701,8 +3713,8 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "" @@ -3730,7 +3742,7 @@ msgstr "" msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "" @@ -3782,8 +3794,8 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "" @@ -3818,7 +3830,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "" @@ -3854,15 +3866,15 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "" @@ -4186,101 +4198,105 @@ msgstr "" msgid "Config type" msgstr "" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "" msgid "Sales Order" msgstr "" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "" -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:1241 +#: order/models.py:1283 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1251 +#: order/models.py:1293 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "" -#: order/models.py:1595 +#: order/models.py:1637 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1847 +#: order/models.py:1924 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:2218 +#: order/models.py:2301 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2735 +#: order/models.py:2818 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/models.py:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "" @@ -5142,24 +5174,24 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "" @@ -5191,7 +5223,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "" @@ -5200,8 +5232,8 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5316,7 +5348,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5357,7 +5389,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "" @@ -5433,847 +5465,867 @@ msgstr "" msgid "Last Stocktake" msgstr "" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:537 +#: part/serializers.py:550 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" @@ -6857,43 +6958,43 @@ msgstr "" msgid "Skip this number of labels when printing label sheets" msgstr "" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "" @@ -7046,21 +7147,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7345,7 +7446,7 @@ msgstr "" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "" @@ -7357,56 +7458,56 @@ msgstr "" msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "" @@ -7694,7 +7795,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "" @@ -8599,115 +8700,115 @@ msgstr "" msgid "Permission to delete items" msgstr "" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "" diff --git a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po index f9dd13b291..82e111a09f 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:15\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "Không thể chuyển đổi {original} sang {unit}" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "Số lượng cung cấp không hợp lệ" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "Chi tiết lỗi có thể được tìm thấy trong bảng quản trị" @@ -108,9 +108,9 @@ msgstr "Nhập ngày" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "Tham chiếu phải phù hợp với mẫu yêu cầu" msgid "Reference number is too large" msgstr "Số tham chiếu quá lớn" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 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:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "Lựa chọn sai" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "Tên" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "Mô tả" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "Mô tả (tùy chọn)" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "Đường dẫn" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "Ghi chú markdown (không bắt buộc)" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "Dữ liệu mã vạch" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "Dữ liệu mã vạch của bên thứ ba" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "Dữ liệu băm mã vạch" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 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:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "Mã vạch đã tồn tại" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "Lỗi máy chủ" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "Lỗi đã được ghi lại bởi máy chủ." -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "Phải là một số hợp lệ" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "Tiền tệ" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "Chọn tiền tệ trong các tùy chọn đang có" @@ -526,29 +526,29 @@ msgstr "Hàng hóa dư thừa không thể vượt quá 100%" msgid "Invalid value for overage" msgstr "Giá trị không hợp lệ cho hàng hóa dư thừa" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Trạng thái đặt hàng" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "Phiên bản cha" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "" msgid "Part" msgstr "Nguyên liệu" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "Danh mục" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "Xây dựng nguồn gốc" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "Đã gán cho tôi" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Phát hành bởi" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "Đã gán cho" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "" @@ -646,16 +646,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Bạn dựng phải được hủy bỏ trước khi có thể xóa được" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "Vật tư tiêu hao" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "Tuỳ chọn" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "Lắp ráp" @@ -663,15 +663,15 @@ msgstr "Lắp ráp" msgid "Tracked" msgstr "Đã theo dõi" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "Có thể kiểm tra" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "Đã cấp phát" @@ -682,52 +682,56 @@ msgstr "Đã cấp phát" msgid "Available" msgstr "Có sẵn" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "Tạo đơn hàng" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "Tạo đơn hàng" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "Dây chuyền BOM chưa được xác thực" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "Không thể tạo đơn hàng cho hàng hoá đang không hoạt động" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "Không thể tạo đơn hàng cho hàng hoá đang mở khoá" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "Lựa chọn sai cho bản dựng cha" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "Phải chọn người dùng hoặc nhóm" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "Sản phẩm đơn đặt bản dựng không thể thay đổi được" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "Tham chiếu đơn đặt bản dựng" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "Tham chiếu đơn đặt bản dựng" msgid "Reference" msgstr "Tham chiếu" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "Mô tả ngắn về phiên bạn (Tùy chọn)" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "Đơn đặt bản dựng với bản dựng này đã được phân bổ" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "Chọn sản phẩm để xây dựng" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "Tham chiếu đơn đặt bản dựng" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "Đơn đặt bán hàng với bản dựng này đã được phân bổ" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "Địa điểm nguồn" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Chọn địa điểm để lấy trong kho cho bản dựng này (để trống để lấy từ bất kỳ vị trí kho nào)" -#: build/models.py:291 +#: build/models.py:299 +msgid "External Build" +msgstr "" + +#: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 msgid "Destination Location" msgstr "Địa điểm đích" -#: build/models.py:296 +#: build/models.py:310 msgid "Select location where the completed items will be stored" msgstr "Chọn địa điểm nơi hàng hóa hoàn thiện sẽ được lưu kho" -#: build/models.py:300 +#: build/models.py:314 msgid "Build Quantity" msgstr "Xây dựng số lượng" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "Số kho hàng để dựng" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "Những mục hoàn thành" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "Số sản phẩm trong kho đã được hoàn thiện" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "Trnạg thái bản dựng" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "Mã trạng thái bản dựng" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "Mã lô hàng" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "Mã lô cho đầu ra bản dựng này" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "Ngày tạo" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "Ngày hoàn thành mục tiêu" -#: build/models.py:350 +#: build/models.py:364 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:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "Ngày hoàn thành" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "hoàn thành bởi" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "Cấp bởi" -#: build/models.py:373 +#: build/models.py:387 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:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Chịu trách nhiệm" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "Người dùng hoặc nhóm có trách nhiệm với đơn đặt bản dựng này" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "Liên kết bên ngoài" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Liên kết đến URL bên ngoài" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "Độ ưu tiên" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "Độ quan trọng của đơn đặt bản dựng" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Mã dự án" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "Mã dự án cho đơn đặt bản dựng này" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "Không thể dỡ bỏ tác vụ để hoàn tất phân bổ" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Đơn đặt bản dựng {build} đã được hoàn thành" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "Một đơn đặt bản dựng đã được hoàn thành" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "Số sê-ri phải được cung cấp cho hàng hoá có thể theo dõi" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "Không có đầu ra bản dựng đã được chỉ ra" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "Đầu ra bản dựng đã được hoàn thiện" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "Đầu ra bản dựng không phù hợp với đơn đặt bản dựng" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "Số lượng phải lớn hơn 0" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "Số lượng không thể lớn hơn số lượng đầu ra" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Tạo đầu ra {serial} chưa vượt qua tất cả các bài kiểm tra" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "Tạo mục đơn hàng" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "Dựng đối tượng" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "Dựng đối tượng" msgid "Quantity" msgstr "Số lượng" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "Yêu cầu số lượng để dựng đơn đặt" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Xây dựng mục phải xác định đầu ra, bởi vì sản phẩm chủ được đánh dấu là có thể theo dõi" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Số lượng được phân bổ ({q}) không thể vượt quá số lượng có trong kho ({a})" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Kho hàng đã bị phân bổ quá đà" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Số lượng phân bổ phải lớn hơn 0" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "Số lượng phải là 1 cho kho sê ri" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "Hàng trong kho đã chọn không phù hợp với đường BOM" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "Kho hàng" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "Kho hàng gốc" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "Số lượng kho hàng cần chỉ định để xây dựng" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "Cài đặt vào" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "Kho hàng đích" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "Tạo cấp" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "Tên sản phẩm" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "Nhãn mã dự án" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "Tạo mới bản dựng con" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "Tự động tạo đơn hàng con" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "Đầu ra bản dựng" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "Đầu ra xây dựng không hợp với bản dựng cha" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "Đầu ra sản phẩm không phù hợp với bản dựng đơn đặt hàng" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "Đầu ra bản dựng này đã được hoàn thành" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "Đầu ra bản dựng này chưa được phân bổ đầy đủ" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "Điền số lượng cho đầu ra bản dựng" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "Số lượng nguyên dương cần phải điền cho sản phẩm có thể theo dõi" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Cần nhập số lượng nguyên dương, bởi vì hóa đơn vật liệu chứa sản phẩm có thể theo dõi" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "Số sê-ri" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "Nhập vào số sêri cho đầu ra bản dựng" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "Địa điểm" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "Vị trí tồn kho cho sản phẩm" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "Số sêri tự cấp" -#: build/serializers.py:407 +#: build/serializers.py:408 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:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "Số sêri sau đây đã tồn tại hoặc không hợp lệ" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "Danh sách đầu ra bản dựng phải được cung cấp" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "Vị trí kho cho đầu ra phế phẩm" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "Hủy phân bổ" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "Hủy bất kỳ phân kho nào cho đầu ra phế phẩm" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "Lý do loại bỏ đầu ra bản dựng" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "Vị trí cho đầu ra bản dựng hoàn thiện" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "Chấp nhận phân kho dang dở" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "Hoàn hiện đầu ra nếu kho chưa được phân bổ hết chỗ trống" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "Xử lý phân bổ kho hàng" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "Tiêu thụ bất kỳ hàng tồn kho nào đã được phân bổ cho dự án này." -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "Xóa toàn bộ đầu ra chưa hoàn thành" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "Xóa bất kỳ đầu ra bản dựng nào chưa được hoàn thành" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "Chưa được cấp phép" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "Chấp nhận trạng thái tiêu hao bởi đơn đặt bản dựng này" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "Phân bổ trước khi hoàn thiện đơn đặt bản dựng này" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "Kho quá tải" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Bạn muốn thế nào để xử lý hàng trong kho được gán thừa cho đơn đặt bản dựng" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "Một vài hàng hóa đã được phân bổ quá thừa" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "Chấp nhận chưa phân bổ được" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Chấp nhận hàng hóa không được phân bổ đầy đủ vào đơn đặt bản dựng này" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "Kho được yêu cầu chưa được phân bổ hết không gian" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "Chấp nhận không hoàn thành" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "Chấp nhận số yêu cầu của đầu ra bản dựng chưa được hoàn thành" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "Số lượng bản dựng được yêu cầu chưa được hoàn thành" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "Tạo đơn hàng có các đơn hàng đang mở" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "Tạo đơn hàng phải ở trạng thái sản xuất." -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "Đơn đặt bản dựng có đầu ra chưa hoàn thiện" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "Lộ giới" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "Đầu ra bản dựng" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "Đầu ra bản dựng phải chỉ đến bản dựng tương ứng" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "Mục chi tiết bản dựng" -#: build/serializers.py:945 +#: build/serializers.py:946 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:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "Hàng hóa phải trong kho" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Số lượng có sẵn ({q}) đã bị vượt quá" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "Đầu ra bản dựng phải được xác định cho việc phân sản phẩm được theo dõi" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Đầu ra bản dựng không thể chỉ định cho việc phân sản phẩm chưa được theo dõi" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "Hàng hóa phân bổ phải được cung cấp" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Vị trí kho nơi sản phẩm được lấy ra (để trống để lấy từ bất kỳ vị trí nào)" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "Ngoại trừ vị trí" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "Không bao gồm hàng trong kho từ vị trí đã chọn này" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "Kho trao đổi" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Hàng trong kho thuộc nhiều vị trí có thể dùng thay thế được cho nhau" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "Kho thay thế" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "Cho phép phân kho sản phẩm thay thế" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "Mục tùy chọn" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "Phân bổ các mục hóa đơn vật liệu tùy chọn đến đơn đặt bản dựng" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "Không thể khởi động tác vụ phân bổ tự động." -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "BOM liên quan" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "ID hàng hoá BOM" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "Tên hàng hoá BOM" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "Sản phẩm nhà cung cấp" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "Số lượng đã phân bổ" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "Tạo liên quan" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "Tên danh mục hàng hoá" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "Có thể theo dõi" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "Được kế thừa" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "Cho phép biến thể" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "Mục BOM" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "Phân kho" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "Bật đơn hàng" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "Đang sản xuất" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "Kho ngoài" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "Số hàng tồn" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "Kho hàng thay thế" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "Hàng tồn kho có sẵn" @@ -1429,544 +1441,544 @@ msgstr "Mã tiền tệ không đúng" msgid "No plugin" msgstr "Không phần mở rộng" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "Đã cập nhật" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "Nhãn thời gian của lần cập cuối cùng" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "Mã dự án duy nhất" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "Mô tả dự án" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "Người dùng hoặc nhóm có trách nhiệm với dự án này" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "Giá trị cài đặt" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "Giá trị đã chọn không hợp lệ" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "Giá trị phải là kiểu boolean" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "Giá trị phải là một số nguyên dương" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "Chuỗi khóa phải duy nhất" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "Người dùng" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "Số lượng giá phá vỡ" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "Giá" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "Đơn vị giá theo số lượng cụ thể" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "Đầu mối" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "Đầu mối tại điểm webhook được nhận" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "Tên của webhook này" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Hoạt động" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "Webhook có hoạt động không" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "Chữ ký số" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "Chữ ký số để truy cập" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "Bí mật" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "Mã bí mật dùng chung cho HMAC" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "Mã Tin nhắn" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "Định danh duy nhất cho tin nhắn này" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "Máy chủ" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "Mãy chủ từ tin nhắn này đã được nhận" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "Đầu mục" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "Đầu mục tin nhắn" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "Thân" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "Thân tin nhắn này" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "Đầu mối của tin nhắn này đã nhận được" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "Làm việc vào" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "Công việc trong tin nhắn này đã kết thúc?" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "Mã" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "Tiêu đề" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Liên kết" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "Đã công bố" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "Tác giả" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "Tóm tắt" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "Đọc" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "Tin này đã được đọc?" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "Hình ảnh" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "Tệp ảnh" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "Tên đơn vị phải là một định danh hợp lệ" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "Tên đơn vị" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "Biểu tượng" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "Biểu tượng đơn vị tùy chọn" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "Định nghĩa" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "Định nghĩa đơn vị" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "Đính kèm" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "Tập tin bị thiếu" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "Thiếu liên kết bên ngoài" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "Chọn file đính kèm" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "Bình luận" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "Giá trị" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "Đã tạo" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "Cập nhật lần cuối" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Dữ liệu" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "Ngữ cảnh" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "Kết quả" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "" @@ -1988,7 +2000,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:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "Mục đã nhận" @@ -2004,80 +2016,88 @@ msgstr "Hàng đã nhận theo đơn hàng trả lại" msgid "Error raised by plugin" msgstr "Lỗi được thông báo bởi phần mở rộng" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "Đang chạy" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "Công việc chờ xử lý" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "Tác vụ theo lịch" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "Tác vụ thất bại" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "ID tác vụ" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "ID tác vụ duy nhất" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "Khoá" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "Thời gian khóa" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "Tên công việc" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "Chức năng" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "Tên chức năng" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "Đối số" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "Đối số công việc" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "Đối số từ khóa" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "Đối số từ khóa công việc" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "Tên tập tin" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2188,8 +2208,8 @@ msgstr "Mức độ thường xuyên để cập nhật tỉ giá hối đoái ( #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "ngày" @@ -2417,8 +2437,8 @@ msgstr "Sao chéo mẫu tham số danh mục" msgid "Copy category parameter templates when creating a part" msgstr "Sao chéo mẫu tham số danh mục khi tạo 1 sản phẩm" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "Mẫu" @@ -2431,8 +2451,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:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "Thành phần" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "Sản phẩm mặc định là số hóa" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "Hiển thị Nhập liệu trong khung xem" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "Hiển thị đồ thuật nhập dữ liệu trong một số khung nhìn sản phẩm" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "Hiển thị sản phẩm liên quan" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "Hiện sản phẩm liên quan cho 1 sản phẩm" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "Số liệu tồn kho ban đầu" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "Cho phép tạo tồn kho ban đầu khi thêm 1 sản phẩm mới" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "Dữ liệu nhà cung cấp ban đầu" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Cho phép tạo dữ liệu nhà cung cấp ban đầu khi thêm 1 sản phẩm mới" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "Định dạng tên sản phẩm hiển thị" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "Định dạng để hiển thị tên sản phẩm" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "Biểu tượng mặc định của danh mục sản phẩm" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "Biểu tượng mặc định của danh mục sản phẩm (để trống nghĩa là không có biểu tượng)" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "Bắt buộc đơn vị tham số" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "Nếu đơn vị được cung cấp, giá trị tham số phải phù hợp với các đơn vị xác định" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "Vị trí phần thập phân giá bán tối thiểu" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Số vị trí thập phân tối thiểu cần hiển thị khi tạo dữ liệu giá" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "Vị trí phần thập phân giá bán tối đa" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Số vị trí thập phân tối đa cần hiển thị khi tạo dữ liệu giá" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "Sử dụng giá bán nhà cung cấp" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Bao gồm giá phá vỡ cả nhà cung cấp trong tính toán giá tổng thể" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "Ghi đè lịch sử mua hàng" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Giá đơn hàng đặt mua trước đó ghi đè giá phá vỡ của nhà cung cấp" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "Sử dụng giá hàng hóa trong kho" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Dùng giá bán từ dữ liệu kho nhập vào thủ công đối với bộ tính toán giá bán" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "Tuổi giá kho hàng" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Loại trừ hàng hóa trong kho cũ hơn số ngày ngày từ bảng tính giá bán" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "Sử dụng giá biến thể" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "Bao gồm giá biến thể trong bộ tính toán giá tổng thể" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "Chỉ các biến thể hoạt động" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "Chỉ sử dụng sản phẩm biến thể hoạt động để tính toán giá bán biến thể" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "Tần suất tạo lại giá" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "Số ngày trước khi giá sản phẩm được tự động cập nhật" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "Giá nội bộ" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "Bật giá nội bộ cho sản phẩm" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "Ghi đè giá nội bộ" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "Nếu khả dụng, giá nội bộ ghi đè tính toán khoảng giá" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "Bật in tem nhãn" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "Bật chức năng in tem nhãn từ giao diện web" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "DPI hỉnh ảnh tem nhãn" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Độ phân giải DPI khi tạo tệp hình ảnh để cung cấp cho plugin in ấn tem nhãn" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "Bật báo cáo" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "Cho phép tạo báo cáo" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "Chế độ gỡ lỗi" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "Tạo báo cáo trong chế độ gỡ lỗi (đầu ra HTML)" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "Khổ giấy" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "Kích thước trang mặc định cho báo cáo PDF" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "Sê ri toàn cục duy nhất" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "Số sê ri cho hàng trong kho phải là duy nhất trong toàn hệ thống" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "Tự động điền số sê ri" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "Tự động điền số sê ri vào biểu mẫu" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "Xóa kho đã hết hàng" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "Mẫu sinh mã theo lô" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "Mẫu tạo mã theo lô mặc định cho hàng trong kho" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "Quá hạn trong kho" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "Bật chức năng quá hạn tồn kho" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "Bán kho quá hạn" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "Cho phép bán hàng kho quá hạn" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "Thời gian hàng cũ trong kho" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "Số ngày hàng trong kho được xác định là cũ trước khi quá hạn" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "Dựng kho quá hạn" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "Cho phép xây dựng với kho hàng quá hạn" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "Kiểm soát sở hữu kho" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "Bật chức năng kiểm soát sở hữu kho với địa điểm và hàng trong kho" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "Biểu tượng địa điểm kho mặc định" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "Biểu tượng địa điểm kho hàng mặc định (trống nghĩa là không có biểu tượng)" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "Hiển thị hàng hóa đã lắp đặt" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "Hiển thị hàng trong kho đã được lắp đặt trên bảng kho" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "Mã tham chiếu đơn đặt bản dựng" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "Mẫu bắt buộc cho để trường tham chiếu đơn đặt bản dựng" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "Hiển thị thông tin kiểm kê sản phẩm (nếu chức năng kiểm kê được bật)" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "Độ dài chuỗi trong bảng" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "Giới hạn độ dài tối đa cho chuỗi hiển thị trong kiểu xem bảng biểu" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "Nhận báo cáo lỗi" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "Nhận thông báo khi có lỗi hệ thống" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "Nhà sản xuất" @@ -3546,8 +3558,8 @@ msgstr "Số điện thoại liên hệ" msgid "Contact email address" msgstr "Địa chỉ email liên hệ" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "Liên hệ" @@ -3591,7 +3603,7 @@ msgstr "Công ty này có sản xuất sản phẩm?" msgid "Default currency used for this company" msgstr "Tiền tệ mặc định dùng cho công ty này" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "Địa chỉ" @@ -3701,8 +3713,8 @@ msgstr "Chọn sản phẩm" msgid "Select manufacturer" msgstr "Chọn nhà sản xuất" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "" @@ -3730,7 +3742,7 @@ msgstr "Tên tham số" msgid "Parameter value" msgstr "Giá trị tham số" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Đơn vị" @@ -3751,7 +3763,7 @@ 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:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "Nhà cung cấp" msgid "Select supplier" msgstr "Chọn nhà cung cấp" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "Đơn vị quản lý kho nhà cung cấp" @@ -3782,8 +3794,8 @@ msgstr "URL cho liên kết sản phẩm của nhà cung cấp bên ngoài" msgid "Supplier part description" msgstr "Mô tả sản phẩm nhà cung cấp" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "Mô tả sản phẩm nhà cung cấp" msgid "Note" msgstr "Ghi chú" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "chi phí cơ sở" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "Thu phí tối thiểu (vd: phí kho bãi)" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "Đóng gói" @@ -3818,7 +3830,7 @@ msgstr "Số lượng gói" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Tổng số lượng được cung cấp trong một gói đơn. Để trống cho các hàng hóa riêng lẻ." -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "nhiều" @@ -3854,15 +3866,15 @@ 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:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "Còn hàng" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "Không rõ" @@ -4186,101 +4198,105 @@ msgstr "" msgid "Config type" msgstr "" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "Tham chiếu đơn đặt" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "Tạo bởi" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "Đặt hàng" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "Sản phẩm nội bộ" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "Đã hoàn thành" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "Đơn hàng" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "Đơn hàng" msgid "Sales Order" msgstr "Đơn đặt hàng" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: 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/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "Tổng tiền" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "Tổng tiền cho đơn hàng hàng" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "Tiền tệ đơn đặt hàng" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "Tiền tệ cho đơn đặt này (để trống để sử dụng tiền mặc định)" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "Liên hệ không phù hợp với doanh nghiệp đã chọn" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "Mô tả đơn đặt (tùy chọn)" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "Mã dự án đã chọn cho đơn đặt hàng này" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "Liên kết đến trang bên ngoài" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Ngày mục tiêu" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Ngày mong muốn giao được hàng. Đơn đặt sẽ quá hạn sau ngày này." -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "Ngày phát hành" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "Ngày đặt hàng đã phát hành" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "Người dùng hoặc nhóm có trách nhiệm với đơn đặt này" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "Đầu mối liên hệ của đơn đặt này" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "Địa chỉ công ty cho đơn đặt này" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "Mã đặt hàng" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "Trạng thái" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "Trạng thái đơn đặt mua" -#: order/models.py:627 +#: order/models.py:628 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:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "Tham chiếu nhà cung cấp" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "Mã tham chiếu đơn đặt nhà cung cấp" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "nhận bởi" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "Ngày đặt hàng đã được hoàn thiện" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "Đích đến" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "" -#: order/models.py:711 +#: order/models.py:712 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:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "Số lượng phải là số dương" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "Khách hàng" -#: order/models.py:1153 +#: order/models.py:1195 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:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "Tham chiếu khách hàng " -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "Mã tham chiếu đơn đặt của khách hàng" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "Ngày giao hàng" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "vận chuyển bằng" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "" -#: order/models.py:1237 +#: order/models.py:1279 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:1241 +#: order/models.py:1283 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:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1251 +#: order/models.py:1293 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:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "Số lượng mặt hàng" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "Tham chiếu khoản riêng" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "Ghi chú khoản riêng" -#: order/models.py:1595 +#: order/models.py:1637 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:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "Mô tả khoản riêng (tùy chọn)" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "Ngữ cảnh bổ sung" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "Đơn giá" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "" -#: order/models.py:1671 +#: order/models.py:1718 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:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "Sản phẩm nhà cung cấp" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "Đã nhận" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "Số mục đã nhận" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "Giá mua" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "Giá đơn vị mua" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "Không thể gán sản phẩm ảo vào trong đơn đặt bán hàng" -#: order/models.py:1847 +#: order/models.py:1924 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:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "Giá bán" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "Giá bán đơn vị" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "Đã chuyển" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "Số lượng đã vận chuyển" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "Ngày vận chuyển" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "Ngày giao hàng" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "Ngày giao hàng của vận chuyển" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "Kiểm tra bởi" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "Người dùng đã kiểm tra vận chuyển này" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Vận chuyển" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "Mã vận chuyển" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "Số theo dõi" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "Thông tin theo dõi vận chuyển" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "Mã hóa đơn" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "Số tham chiếu liên kết với hóa đơn" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "Vận đơn đã được gửi đi" -#: order/models.py:2077 +#: order/models.py:2160 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:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "Hàng trong kho chưa được giao" -#: order/models.py:2218 +#: order/models.py:2301 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:2221 +#: order/models.py:2304 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:2224 +#: order/models.py:2307 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:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 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:2246 +#: order/models.py:2329 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:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 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:2255 +#: order/models.py:2338 msgid "Line" msgstr "Dòng" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "Tham chiếu vận đơn của đơn hàng bán" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "Hàng hóa" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "Chọn hàng trong kho để phân bổ" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "Nhập số lượng phân kho" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "Tham chiếu đơn hàng trả lại" -#: order/models.py:2416 +#: order/models.py:2499 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:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "Trạng thái đơn hàng trả lại" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 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:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "Ngày nhận được" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "Ngày mà hàng hóa trả lại đã được nhận" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "Kết quả" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "Kết quả cho hàng hóa dòng này" -#: order/models.py:2735 +#: order/models.py:2818 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:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "Mục dòng" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "Tên nhà cung cấp" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "Đơn đặt không thể bị hủy" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "Cho phép đơn đặt phải đóng lại cùng với các mục dòng hàng hóa chưa hoàn thành" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "Đơn đặt có dòng hàng hóa chưa hoàn thành" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "Đơn đặt là không được mở" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "Tiền tệ giá mua" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "Mã sản phẩm nội bộ" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "Sản phẩm nhà cung cấp phải được chỉ định" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "Đơn đặt mua phải được chỉ định" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "Nhà cung cấp phải phù hợp với đơn đặt mua" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "Đơn đặt mua phải phù hợp với nhà cung cấp" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "Mục dòng" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "Mục dòng không phù hợp với đơn đặt mua" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "Chọn vị trí đích cho hàng hóa đã nhận" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "Nhập mã lô cho hàng trong kho đang đến" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "Ngày hết hạn" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "Nhập số sê ri cho hàng trong kho đang đến" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "Mã vạch" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "Mã vạch đã quét" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "Mã vạch đã được dùng" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "Cần điền số nguyên cho sản phẩm có thể theo dõi" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "Dòng hàng hóa phải được cung cấp" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "Vị trí đích phải được chỉ ra" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "Giá trị mã vạch đã cung cấp phải duy nhất" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "Vận đơn đã hoàn thành" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "Tiền tệ giá bán" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "Chưa cung cấp thông tin vận chuyển" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "Dòng hàng hóa chưa được gắn với đơn đặt này" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "Số lượng phải là số dương" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "Nhập số sê ri để phân bổ" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "Vận đơn đã được chuyển đi" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "Vận đơn không được gắn với đơn đặt này" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "Không tìm thấy số sê ri sau đây" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "Dòng riêng biệt đơn hàng trả lại" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "Line item không phù hợp với đơn hàng trả lại" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "Line item đã nhận được" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "Hàng hóa chỉ có thể được nhận theo đơn hàng đang trong tiến trình" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "Tiền tệ giá đồng hạng" @@ -5142,24 +5174,24 @@ msgstr "" msgid "BOM Valid" msgstr "" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Danh mục sản phẩm" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "Danh mục sản phẩm" @@ -5191,7 +5223,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:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "Biểu tượng (tùy chọn)" @@ -5200,8 +5232,8 @@ msgstr "Biểu tượng (tùy chọn)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Bạn không thể thay đổi cấu trúc nhóm sản phẩm này vì một số sản phẩm đã được gắn với nó rồi!" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "Nguyên liệu" @@ -5316,7 +5348,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:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5357,7 +5389,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:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "Kho tối thiểu" @@ -5433,847 +5465,867 @@ msgstr "Trách nhiệm chủ sở hữu cho sản phẩm này" msgid "Last Stocktake" msgstr "Kiểm kê cuối cùng" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "Bán nhiều" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "Tiền được dùng để làm đệm tính toán giá bán" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "Chi phí BOM tối thiểu" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "Chi phí thành phần sản phẩm tối thiểu" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "Chi phí BOM tối đa" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "Chi phí thành phần sản phẩm tối đa" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "Chi phí mua vào tối thiểu" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "Chi phí mua vào tối thiểu trong lịch sử" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "Chi phí mua tối đa" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "Chi phí thành phần sản phẩm tối đa trong lịch sử" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "Giá nội bộ tối thiểu" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "Chi phí tối thiểu dựa trên phá vỡ giá nội bộ" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "Giá nội bộ tối đa" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "Chi phí tối đa dựa trên phá vỡ giá nội bộ" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "Giá nhà cung ứng tối thiểu" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "Giá sản phẩm tối thiểu từ nhà cung ứng bên ngoài" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "Giá nhà cung ứng tối đa" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "Giá sản phẩm tối đã từ nhà cung ứng bên ngoài" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "Giá trị biến thể tối thiểu" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "Chi phí tối thiểu của sản phẩm biến thể đã tính" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "Chi phí biến thể tối đa" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "Chi phí tối đa của sản phẩm biến thể đã tính" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "Chi phí tối thiểu" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "Ghi đề chi phí tối thiểu" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "Chi phí tối đa" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "Ghi đề chi phí tối đa" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "Chi phí tối thiểu tính toán tổng thể" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "Chi phí tối đa tính toán tổng thể" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "Giá bán thấp nhất" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "Giá bán tối thiểu dựa trên phá giá" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "Giá bán cao nhất" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "Giá bán cao nhất dựa trên phá giá" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "Chi phí bán hàng tối thiểu" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "Giá bán hàng tối thiểu trong lịch sử" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "Giá bán hàng tối đa" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "Giá bán hàng tối đa trong lịch sử" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "Sản phẩm dành cho kiểm kê" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "Tổng số hàng" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "Số mục kho độc lậo tại thời điểm kiểm kê" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "Tống số kho tại thời điểm kiểm kê" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Ngày" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "Kiểm kê đã thực hiện" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "Ghi chú bổ sung" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "Người dùng đã thực hiện đợt kiểm kê này" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "Chi phí kho tối thiểu" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "Chi phí kho tối thiểu ước tính của kho đang có" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "Chi phí kho tối đa" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "Chi phí kho tối đa ước tính của kho đang có" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "Báo cáo" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "Tệp báo cáo kiểm kê (được sinh nội bộ)" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "Bộ đếm sản phẩm" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "Số sản phẩm đã được bao quát bởi kiểm kê" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "Người dùng đã yêu cầu báo cáo kiểm kê này" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "Lựa chọn phải duy nhất" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "Tên kiểm thử" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "Nhập tên cho kiểm thử" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "Mô tả kiểm thử" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "Nhập mô tả cho kiểm thử này" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "Đã bật" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "Bắt buộc" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "Kiểm thử này bắt buộc phải đạt?" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "Giá trị bắt buộc" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "Kiểm thử này yêu cầu 1 giá trị khi thêm một kết quả kiểm thử?" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "Yêu cầu đính kèm" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "Kiểm thử này yêu cầu tệp đính kèm khi thêm một kết quả kiểm thử?" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "Lựa chọn" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "Tham số hộp kiểm tra không thể có đơn vị" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "Tham số hộp kiểm tra không thể có lựa chọn" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "Tên tham số mẫu phải là duy nhất" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "Tên tham số" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "Đơn vị vật lý cho tham số này" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "Mô tả tham số" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "Ô lựa chọn" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "Tham số này có phải là hộp kiểm tra?" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "Lựa chọn hợp lệ từ tham số này (ngăn cách bằng dấu phẩy)" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "Lựa chọn sai cho giá trị tham số" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "Sản phẩm cha" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "Mẫu tham số" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "Giá trị tham số" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "Giá trị mặc định" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "Giá trị tham số mặc định" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "Chọn sản phẩm cha" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "Sản phẩm phụ" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "Chọn sản phẩm được dùng trong BOM" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "Số lượng BOM cho mục BOM này" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "Mục BOM này là tùy chọn" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Mục BOM này bị tiêu hao (không được theo dõi trong đơn đặt bản dựng)" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "Dư thừa" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Số lượng bản dựng lãng phí ước tính (tuyệt đối hoặc phần trăm)" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "Tham chiếu mục BOM" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "Ghi chú mục BOM" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "Giá trị tổng kiểm" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "Giá trị tổng kiểm dòng BOM" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "Đã xác minh" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "Mục BOM này là hợp lệ" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "Nhận thừa hưởng" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Mục BOM này được thừa kế bởi BOM cho sản phẩm biến thể" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Hàng trong kho cho sản phẩm biến thể có thể được dùng bởi mục BOM này" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "Số lượng phải là giá trị nguyên dùng cho sản phẩm có thể theo dõi được" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "Sản phẩm phụ phải được chỉ định" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "Sảm phẩm thay thế mục BOM" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "Sản phẩm thay thế không thể giống sản phẩm chủ đạo" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "Hàng hóa BOM cha" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "Sản phẩm thay thế" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "Sản phẩm 1" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "Sản phẩm 2" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "Chọn sản phẩm liên quan" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "Không thể tạo mối quan hệ giữa một sản phẩm và chính nó" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "Đã tồn tại mối quan hệ trùng lặp" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "Phụ mục" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 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:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "Sản phẩm gốc" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "Chọn sản phẩm gốc để nhân bản" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "Sao chép ảnh" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "Sao chép hình ảnh từ sản phẩm gốc" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "Sao chép BOM" -#: part/serializers.py:503 +#: part/serializers.py:509 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:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "Sao chép thông số" -#: part/serializers.py:510 +#: part/serializers.py:516 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:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "Sao chép ghi chú" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "Sao chép ghi chú từ sản phẩm gốc" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "Số liệu tồn kho ban đầu" -#: part/serializers.py:537 +#: part/serializers.py:550 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:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "Vị trí kho ban đầu" -#: part/serializers.py:545 +#: part/serializers.py:558 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:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "Chọn nhà cung cấp (hoặc để trống để bỏ qua)" -#: part/serializers.py:578 +#: part/serializers.py:591 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:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "Mã số nhà sản xuất" -#: part/serializers.py:595 +#: part/serializers.py:608 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:604 +#: part/serializers.py:617 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:615 +#: part/serializers.py:628 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:622 +#: part/serializers.py:635 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:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "Tên danh mục" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "Đang dựng" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 -msgid "Stock Items" -msgstr "Hàng trong kho" - -#: part/serializers.py:955 -msgid "Revisions" +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" msgstr "" #: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 +msgid "Stock Items" +msgstr "Hàng trong kho" + +#: part/serializers.py:983 +msgid "Revisions" +msgstr "" + +#: part/serializers.py:987 msgid "Suppliers" msgstr "Nhà cung cấp" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 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:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "Nhân bản sản phẩm" -#: part/serializers.py:1007 +#: part/serializers.py:1041 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:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "Số liệu kho ban đầu" -#: part/serializers.py:1014 +#: part/serializers.py:1048 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:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "Thông tin nhà cung cấp" -#: part/serializers.py:1021 +#: part/serializers.py:1055 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:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "Sao chép thông số nhóm hàng" -#: part/serializers.py:1030 +#: part/serializers.py:1064 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:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "Ảnh hiện có" -#: part/serializers.py:1036 +#: part/serializers.py:1070 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:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "Tệp hình ảnh không tồn tại" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Hạn chế báo cáo kiểm kê với sản phẩm riêng biệt và sản phẩm biến thể bất kỳ" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Hạn chế báo cáo kiểm kê với danh mục sản phẩm riêng biệt và danh mục con bất kỳ" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Hạn chế báo cáo kiểm kê với vị trí kho riêng biệt và vị trí con bất kỳ" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "Ngoại trừ kho bên ngoài" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "Loại trừ hàng trong kho của vị trí bên ngoài" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "Tạo báo cáo" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "Tạo tệp báo cáo chứa dữ liệu kiểm kê đã tính toán" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "Cập nhật sản phẩm" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "Cập nhật sản phẩm cụ thể với dữ liệu kiểm kê đã tính" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "Chức năng kiểm kê chưa được bật" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "Nhân công chạy ngầm kiểm tra thất bại" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "Giá thấp nhất" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "Giá trị tính toán ghi đè cho giá tối thiểu" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "Tiền tế giá tối thiểu" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "Giá cao nhất" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "Giá trị tính toán ghi đè cho giá tối đa" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "Tiền tế giá tối đa" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "Cập nhật" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "Cập nhật giá cho sản phẩm này" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, 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:1508 +#: part/serializers.py:1545 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:1511 +#: part/serializers.py:1548 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:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "Có thể dựng" -#: part/serializers.py:1925 +#: part/serializers.py:1962 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:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "Xóa dữ liệu đã tồn tại" -#: part/serializers.py:1934 +#: part/serializers.py:1971 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:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "Bao gồm thừa hưởng" -#: part/serializers.py:1940 +#: part/serializers.py:1977 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:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "Bỏ qua dòng không hợp lệ" -#: part/serializers.py:1946 +#: part/serializers.py:1983 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:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "Sao chép sản phẩm thay thế" -#: part/serializers.py:1952 +#: part/serializers.py:1989 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" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "Cung cấp hỗ trợ gốc cho mã vạch" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "Cung cấp hỗ trợ gốc cho mã vạch" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "Cung cấp hỗ trợ gốc để in nhãn PDF" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "Chế độ gỡ lỗi" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "Bật chế độ gỡ lỗi - trả về mã HTML thuần thay vì PDF" @@ -6857,43 +6958,43 @@ msgstr "Bỏ qua nhãn" msgid "Skip this number of labels when printing label sheets" msgstr "Bỏ qua số nhãn này khi in tờ nhãn" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "Viền" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 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:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "Ngang" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "In tờ viền theo khổ giấy nằm ngang" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "Máy in tờ nhãn InvenTree" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "Sắp xếp nhiều nhãn trong một tờ đơn" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "Nhãn quá lớn so với khổ giấy" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "Chưa tạo nhãn nào" @@ -7046,21 +7147,21 @@ msgstr "Phần bổ sung" msgid "Method" msgstr "Phương thức" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "Không tìm thấy tác giả" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "Phần bổ sung '{p}' không tương thích với phiên bản InvenTree hiện tại {v}" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "Phần bổ sung yêu cầu ít nhất phiên bản {v}" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "Phần bổ sung yêu cầu tối đa phiên bản {v}" @@ -7345,7 +7446,7 @@ msgstr "Bộ lọc" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "" @@ -7357,56 +7458,56 @@ msgstr "Khổ giấy cho báo cáo PDF" msgid "Render report in landscape orientation" msgstr "Tạo báo cáo theo hướng ngang" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "Chiều rộng [mm]" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "Chiều rộng nhãn, tính theo mm" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "Chiều cao [mm]" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "Chiều cao nhãn, tính theo mm" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "Mẫu trích" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "Tệp báo cáo mẫu" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "Mô tả tệp báo cáo mẫu" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "Tài sản" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "Tệp báo cáo tài sản" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "Mô tả tệp báo cáo tài sản" @@ -7694,7 +7795,7 @@ msgstr "Biểu tượng mặc định cho vị trí không được đặt biể msgid "Stock Location" msgstr "Kho hàng" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "Vị trí kho hàng" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "Bên ngoài" @@ -8599,115 +8700,115 @@ msgstr "Xóa" msgid "Permission to delete items" msgstr "Quyền để xóa mục" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "Quản trị" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "Kiểm kê" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "Đơn mua hàng" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "Đơn hàng bán" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "Đơn hàng trả lại" 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 ebaf9e2313..f08e86c75e 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-06-02 01:32\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "不能将 {original} 转换到 {unit}" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "提供的数量无效" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "在管理面板中可以找到错误详细信息" @@ -108,9 +108,9 @@ msgstr "输入日期" msgid "Invalid decimal value" msgstr "无效的数值" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "參考欄位並須符合格式" msgid "Reference number is too large" msgstr "參考編號過大" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "同一個上層元件下不能有重複的名字" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "無效的選項" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "名稱" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "描述" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "描述(選填)" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "路径" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "Markdown 註記(選填)" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "條碼資料" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "第三方條碼資料" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "條碼雜湊值" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "條碼資料的唯一雜湊值" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "發現現有條碼" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "任务失败" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "后台工作任务“{f}”在 {n} 次尝试后失败" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "伺服器錯誤" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "伺服器紀錄了一個錯誤。" -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "必须是有效数字" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "貨幣" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "從可用選項中選擇貨幣" @@ -526,29 +526,29 @@ msgstr "損失率不能超過100%" msgid "Invalid value for overage" msgstr "無效的損失值" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "订单状态" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "上層生產工單" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "包含变体" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "包含变体" msgid "Part" msgstr "零件" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "类别" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "可测试部分" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "分配给我" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "发布者" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "负责人" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "创建于" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "在此之后创建" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "有开始日期" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "开始日期之前" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "开始日期晚于" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "排除树" @@ -646,16 +646,16 @@ msgstr "排除树" msgid "Build must be cancelled before it can be deleted" msgstr "工單必須被取消才能被刪除" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "耗材" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "非必須項目" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "装配" @@ -663,15 +663,15 @@ msgstr "装配" msgid "Tracked" msgstr "追蹤中" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "可测试" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "未结算订单" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "已分配" @@ -682,52 +682,56 @@ msgstr "已分配" msgid "Available" msgstr "可用数量" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "生产订单" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "生产订单" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "装配物料清单尚未验证" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "无法为未激活的零件创建生产订单" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "无法为已解锁的零件创建生产订单" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "無效的上層生產工單選擇" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "必须指定负责的用户或组" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "無法更改生產工單" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "生產工單代號" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "生產工單代號" msgid "Reference" msgstr "參考代號" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "關於生產工單的簡單說明(選填)" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "這張生產工單對應的上層生產工單" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "選擇要生產的零件" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "銷售訂單代號" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "這張生產工單對應的銷售訂單" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "來源倉儲地點" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "選擇領取料件的倉儲地點(留白表示可以從任何地點領取)" -#: build/models.py:291 +#: build/models.py:299 +msgid "External Build" +msgstr "" + +#: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 msgid "Destination Location" msgstr "目標倉儲地點" -#: build/models.py:296 +#: build/models.py:310 msgid "Select location where the completed items will be stored" msgstr "选择已完成项目库存地点" -#: build/models.py:300 +#: build/models.py:314 msgid "Build Quantity" msgstr "生产数量" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "要生产的项目数量" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "已完成项目" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "已經完成的庫存品數量" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "生產狀態" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "生產狀態代碼" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "批号" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "此产出的批号" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "建立日期" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "目標完成日期" -#: build/models.py:350 +#: build/models.py:364 msgid "Target date for build completion. Build will be overdue after this date." msgstr "生產的預計完成日期。若超過此日期則工單會逾期。" -#: build/models.py:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "完成日期" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "完成者" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "發布者" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "發布此生產工單的使用者" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "負責人" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "負責此生產工單的使用者或群組" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "外部連結" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "外部URL連結" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "製造優先度" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "此生产订单的优先级" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "專案代碼" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "此生產工單隸屬的專案代碼" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "未能卸载任务以完成生产分配" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "生產工單 {build} 已經完成" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "一張生產工單已經完成" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "对于可跟踪的零件,必须提供序列号" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "未指定产出" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "产出已完成" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "产出与生产订单不匹配" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "數量必須大於零" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "数量不能大于输出数量" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "产出 {serial} 未通过所有必要测试" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "生产订单行项目" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "生产对象" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "生产对象" msgid "Quantity" msgstr "數量" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "生產工單所需數量" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "生产项必须指定产出,因为主零件已经被标记为可追踪的" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "分配的數量({q})不能超過可用的庫存數量({a})" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "庫存品項超額分配" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "分配的數量必須大於零" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "有序號的品項數量必須為1" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "選擇的庫存品項和BOM的項目不符" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "庫存品項" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "來源庫存項目" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "要分配的庫存數量" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "安裝到" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "目的庫存品項" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "生产等级" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "零件名称" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "项目编码标签" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "新建子生产项目" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "自动生成子生成工单" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "产出" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "产出与之前的生产不匹配" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "产出零件与生产订单零件不匹配" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "此产出已经完成" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "此产出尚未完全分配" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "输入产出数量" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "可追蹤的零件數量必須為整數" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "因為BOM包含可追蹤的零件,所以數量必須為整數" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "序號" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "输出产出的序列号" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "地點" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "生产输出的库存地点" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "自動分配序號" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" msgstr "自動為需要項目分配對應的序號" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "序號已存在或無效" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "必须提供产出清单" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "废品产出的库存位置" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "放棄分配" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "取消对废品产出的任何库存分配" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "废品产出的原因" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "已完成删除的库存地点" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "接受不完整的分配" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "如果库存尚未全部分配,则完成产出" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "消费已分配的库存" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "消耗已分配给此生产的任何库存" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "移除未完成的产出" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "删除所有未完成的产出" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "不允许" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "接受作为此生产订单的消费" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "完成此生产订单前取消分配" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "超出分配的库存" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "如何处理分配给生产订单的额外库存项" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "有库存项目已被过度分配" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "接受未分配" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "接受库存项未被完全分配至生产订单" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "所需库存尚未完全分配" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "接受不完整" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "允许所需数量的产出未完成" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "未完成所需生产数量" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "生产订单有打开的子生产订单" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "生产订单必须处于生产状态" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "生产订单有未完成的产出" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "生产行" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "产出" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "生产产出必须指向相同的生产" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "生产行项目" -#: build/serializers.py:945 +#: build/serializers.py:946 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part 必须与生产订单零件相同" -#: build/serializers.py:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "项目必须在库存中" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "可用量 ({q}) 超出限制" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "对于被追踪的零件的分配,必须指定生产产出" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "对于未被追踪的零件,无法指定生产产出" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "必须提供分配项目" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "零件来源的库存地点(留空则可来源于任何库存地点)" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "排除位置" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "从该选定的库存地点排除库存项" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "可互換庫存" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "在多个位置的库存项目可以互换使用" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "替代品库存" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "允许分配可替换的零件" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "可选项目" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "分配可选的物料清单给生产订单" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "启动自动分配任务失败" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "物料清单参考" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "物料清单零件识别号码" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "物料清单零件名称" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "供应商零件" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "已分配数量" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "构建参考" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "零件类别名称" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "可追踪" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "已继承的" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "允许变体" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "物料清单项" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "分配库存" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "已订购" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "生产中" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "外部库存" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "可用库存" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "可用的替代品库存" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "可用的变体库存" @@ -1429,544 +1441,544 @@ msgstr "未提供有效的货币代码" msgid "No plugin" msgstr "暂无插件" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "已是最新" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "最后更新时间戳" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "唯一项目编码" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "项目描述" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "负责此项目的用户或群组" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "设置密钥" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "设定值" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "所选值不是一个有效的选项" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "该值必须是布尔值" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "该值必须为整数" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "必须是有效数字" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "值未通过验证检查" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "键字符串必须是唯一的" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "使用者" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "批发价数量" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "价格" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "指定数量的单位价格" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "端点" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "接收此网络钩子的端点" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "此网络钩子的名称" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "激活" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "网络钩子是否已启用" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "令牌" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "访问令牌" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "密钥" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "HMAC共享密钥" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "消息ID" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "此邮件的唯一标识符" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "主机" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "接收此消息的主机" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "标题" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "此消息的标题" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "正文" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "此消息的正文" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "接收此消息的终点" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "工作于" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "这条消息的工作完成了吗?" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "标识" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "标题" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "連結" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "已发布" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "作者" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "摘要" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "阅读" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "这条新闻被阅读了吗?" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "图像" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "图像文件" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "此图像的目标模型类型" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "此图像的目标型号ID" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "自定义单位" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "单位符号必须唯一" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "单位名称必须是有效的标识符" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "单位名称" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "符号" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "可选单位符号" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "定义" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "单位定义" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "附件" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "缺少檔案" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "缺少外部連結" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "選擇附件" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "註解" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "附件评论" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "上传日期" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "上传文件的日期" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "文件大小" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "文件大小,以字节为单位" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "为附件指定的模型类型无效" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "自定状态" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "定制状态" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "参考状态设置" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "使用此自定义状态扩展状态的状态集" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "逻辑密钥" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "等同于商业逻辑中自定义状态的状态逻辑键" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "值" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "状态名" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "标签" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "将在前端显示的标签" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "颜色" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "将在前端显示颜色" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "型号" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "该状态关联的模型" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "必须选定模型" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "必须选取密钥" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "必须选中逻辑密钥" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "密钥必须不同于逻辑密钥" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "密钥必须不同于参考状态的逻辑密钥" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "逻辑密钥必须在参考状态的逻辑键中" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "已锁定" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "已创建" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "最近更新" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "扫描条码" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "数据" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "条码数据" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "扫描条形码" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "时间戳" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "扫描条形码的日期和时间" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "处理条形码的 URL 终点" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "上下文" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "扫描条形码的上下文数据" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "响应" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "扫描条形码的响应数据" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "结果" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "条码扫描成功吗?" @@ -1988,7 +2000,7 @@ msgstr "{verbose_name} 已取消" msgid "A order that is assigned to you was canceled" msgstr "分配给您的订单已取消" -#: common/notifications.py:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "收到的物品" @@ -2004,80 +2016,88 @@ msgstr "已收到退货订单中的物品" msgid "Error raised by plugin" msgstr "插件引发的错误" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "正在运行" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "等待完成的任务" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "预定的任务" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "失败的任务" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "任务ID" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "唯一任务ID" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "锁定" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "锁定时间" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "任务名称" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "功能" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "功能名称" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "参数" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "任务参数" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "关键字参数" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "任务关键词参数" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "檔案名稱" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "模型类型" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "用户无权为此模式创建或编辑附件" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2188,8 +2208,8 @@ msgstr "检查更新的频率(设置为零以禁用)" #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "天" @@ -2417,8 +2437,8 @@ msgstr "复制类别参数模板" msgid "Copy category parameter templates when creating a part" msgstr "创建零件时复制类别参数模板" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "模板" @@ -2431,8 +2451,8 @@ msgstr "零件默认为模板" msgid "Parts can be assembled from other components by default" msgstr "默认情况下,元件可由其他零件组装而成" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "组件" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "默认情况下,零件是虚拟的" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "在视图中显示导入" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "在某些零件视图中显示导入向导" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "显示相关零件" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "显示零件的相关零件" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "初始库存数据" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "允许在添加新零件时创建初始库存" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "初始供应商数据" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "允许在添加新零件时创建初始供应商数据" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "零件名称显示格式" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "显示零件名称的格式" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "零件类别默认图标" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "零件类别默认图标 (空表示没有图标)" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "强制参数单位" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "如果提供了单位,参数值必须与指定的单位匹配" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "最小定价小数位数" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "呈现定价数据时显示的最小小数位数" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "最大定价小数位数" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "呈现定价数据时显示的最大小数位数" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "使用供应商定价" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "将供应商的价批发价纳入总体定价计算中" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "购买历史记录覆盖" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "历史采购订单定价优先于供应商批发价" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "使用库存项定价" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "使用手动输入的库存数据进行定价计算" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "库存项目定价时间" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "从定价计算中排除超过此天数的库存项目" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "使用变体定价" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "在整体定价计算中包括变体定价" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "仅限活跃变体" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "仅使用活跃变体零件计算变体价格" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "价格重建间隔" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "零件价格自动更新前的天数" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "内部价格" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "启用内部零件价格" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "覆盖内部价格" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "如果有内部价格,内部价格将覆盖价格范围计算" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "启用标签打印功能" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "启用从网络界面打印标签" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "标签图片 DPI" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "生成图像文件以供标签打印插件使用时的 DPI 分辨率" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "启用报告" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "启用报告生成" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "调试模式" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "以调试模式生成报告(HTML 输出)" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "日志错误报告" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "记录生成报告时出现的错误" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "页面大小" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "PDF 报告默认页面大小" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "全局唯一序列号" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "库存项的序列号必须全局唯一" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "自动填充序列号" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "在表格中自动填充序列号" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "删除已耗尽的库存" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "设置库存耗尽时的默认行为" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "批号模板" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "为库存项生成默认批号的模板" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "库存过期" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "启用库存过期功能" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "销售过期库存" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "允许销售过期库存" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "库存过期时间" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "库存项在到期前被视为过期的天数" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "生产过期库存" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "允许用过期的库存生产" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "库存所有权控制" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "启用库存地点和项目的所有权控制" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "库存地点默认图标" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "库存地点默认图标 (空表示没有图标)" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "显示已安装的库存项" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "在库存表中显示已安装的库存项" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "在安装项目时检查物料清单" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "已安装的库存项目必须存在于上级零件的物料清单中" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "允许超出库存转移" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "允许非库存的库存项目在库存位置之间转移" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "生产订单参考模式" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "生成生产订单参考字段所需的模式" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "要求负责人" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "必须为每个订单分配一个负责人" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "需要活动零件" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "防止为非活动零件创建生产订单" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "需要锁定零件" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "防止为未锁定的零件创建生产订单" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "需要有效的物料清单" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "除非物料清单已验证,否则禁止创建生产订单" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "需要关闭子订单" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "在所有子订单关闭之前,阻止生产订单的完成" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "阻止直到测试通过" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "显示零件盘点信息 (如果启用了盘点功能)" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "表字符串长度" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "表视图中显示的字符串的最大长度限制" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "接收错误报告" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "接收系统错误通知" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "上次使用的打印设备" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "为用户保存上次使用的打印设备" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "供应商已激活" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "制造商" @@ -3546,8 +3558,8 @@ msgstr "联系电话" msgid "Contact email address" msgstr "联系人电子邮箱地址" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "联系人" @@ -3591,7 +3603,7 @@ msgstr "这家公司生产零件吗?" msgid "Default currency used for this company" msgstr "此公司使用的默认货币" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "地址" @@ -3701,8 +3713,8 @@ msgstr "选择零件" msgid "Select manufacturer" msgstr "选择制造商" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "制造商零件编号" @@ -3730,7 +3742,7 @@ msgstr "参数名称" msgid "Parameter value" msgstr "参数值" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "单位" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "链接的制造商零件必须引用相同的基础零件" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "供应商" msgid "Select supplier" msgstr "选择供应商" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "供应商库存管理单位" @@ -3782,8 +3794,8 @@ msgstr "外部供应商零件链接的URL" msgid "Supplier part description" msgstr "供应商零件说明" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "供应商零件说明" msgid "Note" msgstr "备注" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "基本费用" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低费用(例如库存费)" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "打包" @@ -3818,7 +3830,7 @@ msgstr "包装数量" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "单包供应的总数量。为单个项目留空。" -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "多个" @@ -3854,15 +3866,15 @@ msgstr "此供应商使用的默认货币" msgid "Company Name" msgstr "公司名称" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "有库存" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "每个标签要打印的份数" msgid "Connected" msgstr "已连接" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "未知" @@ -4186,101 +4198,105 @@ msgstr "设备配置" msgid "Config type" msgstr "配置类型" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "订单参考" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "未完成" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "有项目编码" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "创建人" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "有定价" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "订单" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "订单完成" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "内部零件" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "订单待定" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "已完成" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "有配送" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "采购订单" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "采购订单" msgid "Sales Order" msgstr "销售订单" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "退货订单" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "总价格" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "此订单的总价" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "订单货币" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "此订单的货币 (留空以使用公司默认值)" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "联系人与所选公司不匹配" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "订单描述 (可选)" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "为此订单选择项目编码" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "链接到外部页面" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "预计日期" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "订单交付的预期日期。订单将在此日期后过期。" -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "签发日期" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "订单发出日期" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "负责此订单的用户或组" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "此订单的联系人" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "此订单的公司地址" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "订单参考" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "狀態" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "采购订单状态" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "订购物品的公司" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "供应商参考" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "供应商订单参考代码" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "接收人" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "订单完成日期" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "目的地" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "接收物品的目标" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "零件供应商必须与采购订单供应商匹配" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "数量必须是正数" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "客户" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "出售物品的公司" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "销售订单状态" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "客户参考 " -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "客户订单参考代码" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "发货日期" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "发货人" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "订单已完成" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "订单已取消" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "只有未结订单才能标记为已完成" -#: order/models.py:1241 +#: order/models.py:1283 msgid "Order cannot be completed as there are incomplete shipments" msgstr "由于发货不完整,订单无法完成" -#: order/models.py:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "由于缺货,订单无法完成" -#: order/models.py:1251 +#: order/models.py:1293 msgid "Order cannot be completed as there are incomplete line items" msgstr "订单无法完成,因为行项目不完整" -#: order/models.py:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "项目数量" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "行项目参考" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "行项目注释" -#: order/models.py:1595 +#: order/models.py:1637 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "此行项目的目标日期 (留空以使用订单中的目标日期)" -#: order/models.py:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "行项目描述 (可选)" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "此行的附加上下文" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "单位价格" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "采购订单行项目" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "供应商零件必须与供应商匹配" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "供应商零件" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "已接收" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "收到的物品数量" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "采购价格" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "每单位的采购价格" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "采购订单附加行" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "销售订单行项目" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "虚拟零件不能分配给销售订单" -#: order/models.py:1847 +#: order/models.py:1924 msgid "Only salable parts can be assigned to a sales order" msgstr "只有可销售的零件才能分配给销售订单" -#: order/models.py:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "售出价格" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "单位售出价格" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "已配送" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "发货数量" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "销售订单发货" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "发货日期" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "送达日期" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "装运交货日期" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "审核人" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "检查此装运的用户" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "配送" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "配送单号" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "跟踪单号" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "配送跟踪信息" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "发票编号" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "相关发票的参考号" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "货物已发出" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "发货没有分配库存项目" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "销售订单加行" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "销售订单分配" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "库存项目尚未分配" -#: order/models.py:2218 +#: order/models.py:2301 msgid "Cannot allocate stock item to a line with a different part" msgstr "无法将库存项目分配给具有不同零件的行" -#: order/models.py:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "无法将库存分配给没有零件的生产线" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "分配数量不能超过库存数量" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "序列化库存项目的数量必须为1" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "销售订单与发货不匹配" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "发货与销售订单不匹配" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "行" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "销售订单发货参考" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "项目" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "选择要分配的库存项目" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "输入库存分配数量" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "退货订单参考" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "退回物品的公司" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "退货订单状态" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "退货订单行项目" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "选择要从客户处退回的商品" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "接收日期" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "收到此退货的日期" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "结果" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "该行项目的结果" -#: order/models.py:2735 +#: order/models.py:2818 msgid "Cost associated with return or repair for this line item" msgstr "与此行项目的退货或维修相关的成本" -#: order/models.py:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "退货订单附加行" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "订单ID" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "要复制的订单ID" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "复制行" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "从原始订单复制行项目" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "复制额外行" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "从原始订单复制额外的行项目" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "行项目" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "已完成行项目" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "复制订单" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "指定复制此订单的选项" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "订单ID不正确" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "供应商名称" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "订单不能取消" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "允许关闭行项目不完整的订单" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "订单中的行项目不完整" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "订单未打开" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "自动定价" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "根据供应商零件数据自动计算采购价格" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "购买价格货币" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "合并项目" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "将具有相同零件、目的地和目标日期的项目合并到一个行项目中" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "库存量单位" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "内部零件编号" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "内部零件名称" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "必须指定供应商零件" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "必须指定采购订单" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "供应商必须匹配采购订单" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "采购订单必须与供应商匹配" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "行项目" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "行项目与采购订单不匹配" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "为收到的物品选择目的地位置" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "输入入库项目的批号" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "有效期至" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "输入入库库存项目的序列号" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "覆盖传入库存项目的包装资料" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "传入库存项目的附加说明" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "条形码" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "扫描条形码" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "条形码已被使用" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "必须为可跟踪零件提供整数数量" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "必须提供行项目" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "必须指定目标位置" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "提供的条形码值必须是唯一的" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "配送" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "完成配送" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "售出价格货币" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "已分配的项目" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "未提供装运详细信息" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "行项目与此订单不关联" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "数量必须为正" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "输入要分配的序列号" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "货物已发出" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "发货与此订单无关" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "未找到以下序列号的匹配项" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "以下序列号不可用" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "退货订单行项目" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "行项目与退货订单不匹配" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "行项目已收到" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "只能根据正在进行的订单接收物品" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "行价格货币" @@ -5142,24 +5174,24 @@ msgstr "有修订版本" msgid "BOM Valid" msgstr "物料清单合规" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "装配部份是可测试的" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "组件部份是可测试的" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "使用" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "零件类别" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "零件类别" @@ -5191,7 +5223,7 @@ msgstr "此类别零件的默认关键字" msgid "Icon" msgstr "图标" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "图标(可选)" @@ -5200,8 +5232,8 @@ msgstr "图标(可选)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "您不能使这个零件类别结构化,因为有些零件已经分配给了它!" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "零件" @@ -5316,7 +5348,7 @@ msgstr "提高搜索结果可见性的零件关键字" msgid "Part category" msgstr "零件类别" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "内部零件号 IPN" @@ -5357,7 +5389,7 @@ msgstr "默认到期" msgid "Expiry time (in days) for stock items of this part" msgstr "此零件库存项的过期时间 (天)" -#: part/models.py:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "最低库存" @@ -5433,847 +5465,867 @@ msgstr "此零件的负责人" msgid "Last Stocktake" msgstr "最近库存盘点" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "出售多个" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "用于缓存定价计算的货币" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "最低物料清单成本" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "元件的最低成本" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "物料清单的最高成本" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "元件的最高成本" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "最低购买成本" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "最高历史购买成本" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "最大购买成本" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "最高历史购买成本" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "最低内部价格" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "基于内部批发价的最低成本" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "最大内部价格" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "基于内部批发价的最高成本" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "供应商最低价格" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "外部供应商零件的最低价格" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "供应商最高价格" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "来自外部供应商的商零件的最高价格" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "最小变体成本" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "计算出的变体零件的最低成本" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "最大变体成本" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "计算出的变体零件的最大成本" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "最低成本" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "覆盖最低成本" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "最高成本" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "覆盖最大成本" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "计算总最低成本" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "计算总最大成本" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "最低售出价格" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "基于批发价的最低售出价格" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "最高售出价格" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "基于批发价的最大售出价格" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "最低销售成本" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "历史最低售出价格" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "最高销售成本" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "历史最高售出价格" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "用于盘点的零件" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "物品数量" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "盘点时的个别库存条目数" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "盘点时可用库存总额" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "日期" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "进行盘点的日期" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "附加注释" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "进行此盘点的用户" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "最低库存成本" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "现有存库存最低成本估算" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "最高库存成本" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "目前库存最高成本估算" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "报告" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "盘点报告文件(内部生成)" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "零件计数" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "盘点涵盖的零件数量" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "请求此盘点报告的用户" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "零件售出价格折扣" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "零件测试模板" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "模板名称无效 - 必须包含至少一个字母或者数字" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "选择必须是唯一的" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "测试模板只能为可拆分的部件创建" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "零件已存在具有相同主键的测试模板" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "测试名" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "输入测试的名称" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "测试主键" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "简化测试主键" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "测试说明" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "输入测试的描述" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "已启用" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "此测试是否已启用?" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "必须的" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "需要此测试才能通过吗?" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "需要值" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "添加测试结果时是否需要一个值?" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "需要附件" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "添加测试结果时是否需要文件附件?" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "选项" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "此测试的有效选择 (逗号分隔)" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "零件参数模板" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "勾选框参数不能有单位" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "复选框参数不能有选项" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "参数模板名称必须是唯一的" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "参数名称" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "此参数的物理单位" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "参数说明" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "勾选框" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "此参数是否为勾选框?" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "此参数的有效选择 (逗号分隔)" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "零件参数" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "参数不能被修改 - 零件被锁定" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "无效的参数值选择" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "父零件" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "参数模板" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "参数值" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "零件类别参数模板" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "默认值" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "默认参数值" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "物料清单项目不能被修改 - 装配已锁定" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "物料清单项目不能修改 - 变体装配已锁定" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "选择父零件" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "子零件" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "选择要用于物料清单的零件" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "此物料清单项目的数量" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "此物料清单项目是可选的" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "这个物料清单项目是耗材 (它没有在生产订单中被追踪)" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "超量" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "估计生产物浪费量(绝对值或百分比)" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "物料清单项目引用" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "物料清单项目注释" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "校验和" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "物料清单行校验和" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "已验证" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "此物料清单项目已验证" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "获取继承的" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "此物料清单项目是由物料清单继承的变体零件" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "变体零件的库存项可以用于此物料清单项目" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "可追踪零件的数量必须是整数" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "必须指定子零件" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "物料清单项目替代品" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "替代品零件不能与主零件相同" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "上级物料清单项目" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "替代品零件" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "零件 1" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "零件2" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "选择相关的零件" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "此关系的注释" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "零件关系不能在零件和自身之间创建" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "复制关系已经存在" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "上级类别" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "上级零件类别" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "子类别" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "结果" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "根据该模板记录的结果数量" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "购买此库存项的货币" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "投机数量" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "型号ID" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "使用此模板的零件数" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "原始零件" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "选择要复制的原始零件" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "复制图片" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "从原零件复制图片" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "复制物料清单" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "从原始零件复制材料清单" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "复制参数" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "从原始零件复制参数数据" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "复制备注" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "从原始零件复制备注" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "初始化库存数量" -#: part/serializers.py:537 +#: part/serializers.py:550 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "指定此零件的初始库存数量。如果数量为零,则不添加任何库存。" -#: part/serializers.py:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "初始化库存地点" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "初始化指定此零件的库存地点" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "选择供应商(或为空以跳过)" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "选择制造商(或为空)" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "制造商零件号" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "所选公司不是一个有效的供应商" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "所选公司不是一个有效的制造商" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "与此制造商零件编号 (MPN) 的相匹配的制造商零件已存在" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "匹配此库存单位 (SKU) 的供应商零件已存在" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "类别名称" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "正在生产" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" +msgstr "" + +#: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 msgid "Stock Items" msgstr "库存项" -#: part/serializers.py:955 +#: part/serializers.py:983 msgid "Revisions" msgstr "修订" -#: part/serializers.py:958 +#: part/serializers.py:987 msgid "Suppliers" msgstr "供应商" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "库存总量" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "未分配的库存" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "变体库存" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "重复零件" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "从另一个零件复制初始数据" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "初始库存" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "创建具有初始库存数量的零件" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "供应商信息" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "添加此零件的初始供应商信息" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "复制类别参数" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "从选择的零件复制参数模版" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "现有的图片" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "现有零件图片的文件名" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "图片不存在" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "限制盘点报告到某个特定零件以及任何变体零件" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "限制盘点报告到某个特定零件类别以及任何子类别" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "限制盘点报告到某个特定零件库存地点以及任何子位置" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "排除外部库存" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "排除外部位置的库存项" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "生成报告" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "生成包含计算出来的盘点数据的报告文件" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "更新零件" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "使用计算出的盘点数据更新指定零件" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "盘点功能未启用" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "后台执行器检查失败" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "最低价格" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "覆盖已计算的最低价格值" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "最低价格货币" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "最高价格" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "覆盖已计算的最高价格值" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "最高价格货币" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "更新" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "更新这个零件的价格" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "无法将所提供的货币转换为 {default_currency}" -#: part/serializers.py:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "最低价格不能高于最高价格。" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "最高价格不能低于最低价格" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "选择父装配" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "选择零部件" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "可以创建" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "选择要复制物料清单的零件" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "移除现有数据" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "复制前删除现有的物料清单项目" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "包含继承的" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "包含从模板零件继承的物料清单项目" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "跳过无效行" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "启用此选项以跳过无效行" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "复制替代品零件" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "复制物料清单项目时复制替代品零件" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "提供条形码本地支持" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "提供条形码本地支持" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "短条形码前缀" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "自定义用于短条形码的前缀,可能对有多个InvenTree实例的环境有用。" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "为打印 PDF 标签提供本机支持" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "Debug模式" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "启用Debug模式 - 返回原始的 HTML 而不是 PDF" @@ -6857,43 +6958,43 @@ msgstr "跳过标签" msgid "Skip this number of labels when printing label sheets" msgstr "打印标签页时跳过标签的数量" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "边框" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "打印每个标签的边框" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "横屏模式" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "在横屏模式下打印标签表" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "库存树标签工作表" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "单张纸上的组合多个标签" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "标签大过页面" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "没有生成标签" @@ -7046,21 +7147,21 @@ msgstr "插件" msgid "Method" msgstr "方法" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "未找到作者" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "插件 '{p}' 与当前 InvenTree 版本{v} 不兼容" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "插件所需最低版本 {v}" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "插件所需最高版本 {v}" @@ -7345,7 +7446,7 @@ msgstr "筛选器" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "模版查询筛选器 (逗号分隔的键值对列表)" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "模板包文件" @@ -7357,56 +7458,56 @@ msgstr "PDF 报告的页面大小" msgid "Render report in landscape orientation" msgstr "横向渲染报告" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "宽度 [mm]" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "标签宽度,以毫米为单位。" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "高度 [mm]" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "标签高度,以毫米为单位。" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "代码片段" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "报告代码片段文件" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "代码片段文件描述" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "资产" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "报告资产文件" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "资产文件描述" @@ -7694,7 +7795,7 @@ msgstr "为所有没有图标的位置设置默认图标(可选)" msgid "Stock Location" msgstr "库存地点" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "库存地点" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "外部" @@ -8599,115 +8700,115 @@ msgstr "删除" msgid "Permission to delete items" msgstr "删除项目的权限" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "管理员" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "库存盘点" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "采购订单" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "销售订单" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" 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 de056eb74f..065b59a36f 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: 2025-05-09 19:12+0000\n" -"PO-Revision-Date: 2025-05-09 19:14\n" +"POT-Creation-Date: 2025-06-12 08:28+0000\n" +"PO-Revision-Date: 2025-06-12 08:31\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Language: zh_TW\n" @@ -92,11 +92,11 @@ msgid "Could not convert {original} to {unit}" msgstr "不能將 {original} 轉換到 {unit}" #: InvenTree/conversion.py:208 InvenTree/conversion.py:222 -#: InvenTree/helpers.py:548 order/models.py:707 order/models.py:975 +#: InvenTree/helpers.py:548 order/models.py:708 order/models.py:976 msgid "Invalid quantity provided" msgstr "提供的數量無效" -#: InvenTree/exceptions.py:109 +#: InvenTree/exceptions.py:121 msgid "Error details can be found in the admin panel" msgstr "在管理面板中可以找到錯誤詳細信息" @@ -108,9 +108,9 @@ msgstr "輸入日期" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:210 InvenTree/models.py:887 build/serializers.py:526 -#: build/serializers.py:597 company/models.py:834 order/models.py:1579 -#: part/models.py:3366 +#: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:527 +#: build/serializers.py:598 company/models.py:834 order/models.py:1621 +#: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 #: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 #: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 @@ -399,90 +399,90 @@ msgstr "參考欄位並須符合格式" msgid "Reference number is too large" msgstr "參考編號過大" -#: InvenTree/models.py:688 +#: InvenTree/models.py:697 msgid "Duplicate names cannot exist under the same parent" msgstr "同一個上層元件下不能有重複的名字" -#: InvenTree/models.py:705 +#: InvenTree/models.py:714 msgid "Invalid choice" msgstr "無效的選項" -#: InvenTree/models.py:734 common/models.py:1325 common/models.py:1752 -#: common/models.py:2011 common/models.py:2136 common/serializers.py:488 +#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 +#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 #: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 -#: part/models.py:1039 part/models.py:3837 plugin/models.py:53 +#: part/models.py:1039 part/models.py:3890 plugin/models.py:53 #: report/models.py:203 stock/models.py:83 msgid "Name" msgstr "名稱" -#: InvenTree/models.py:740 build/models.py:242 common/models.py:123 -#: common/models.py:2143 common/models.py:2256 company/models.py:521 -#: company/models.py:825 order/models.py:429 order/models.py:1615 -#: part/models.py:1062 part/models.py:3852 report/models.py:209 -#: report/models.py:714 report/models.py:740 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 +#: common/models.py:2175 common/models.py:2288 company/models.py:521 +#: company/models.py:825 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:209 +#: report/models.py:710 report/models.py:736 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" msgstr "描述" -#: InvenTree/models.py:741 stock/models.py:90 +#: InvenTree/models.py:750 stock/models.py:90 msgid "Description (optional)" msgstr "描述(選填)" -#: InvenTree/models.py:756 common/models.py:2309 +#: InvenTree/models.py:765 common/models.py:2341 msgid "Path" msgstr "路徑" -#: InvenTree/models.py:887 +#: InvenTree/models.py:896 msgid "Markdown notes (optional)" msgstr "Markdown 註記(選填)" -#: InvenTree/models.py:918 +#: InvenTree/models.py:927 msgid "Barcode Data" msgstr "條碼資料" -#: InvenTree/models.py:919 +#: InvenTree/models.py:928 msgid "Third party barcode data" msgstr "第三方條碼資料" -#: InvenTree/models.py:925 +#: InvenTree/models.py:934 msgid "Barcode Hash" msgstr "條碼雜湊值" -#: InvenTree/models.py:926 +#: InvenTree/models.py:935 msgid "Unique hash of barcode data" msgstr "條碼資料的唯一雜湊值" -#: InvenTree/models.py:1003 +#: InvenTree/models.py:1012 msgid "Existing barcode found" msgstr "發現現有條碼" -#: InvenTree/models.py:1084 +#: InvenTree/models.py:1093 msgid "Task Failure" msgstr "" -#: InvenTree/models.py:1085 +#: InvenTree/models.py:1094 #, python-brace-format msgid "Background worker task '{f}' failed after {n} attempts" msgstr "" -#: InvenTree/models.py:1112 +#: InvenTree/models.py:1121 msgid "Server Error" msgstr "伺服器錯誤" -#: InvenTree/models.py:1113 +#: InvenTree/models.py:1122 msgid "An error has been logged by the server." msgstr "伺服器紀錄了一個錯誤。" -#: InvenTree/serializers.py:69 part/models.py:4455 +#: InvenTree/serializers.py:69 part/models.py:4508 msgid "Must be a valid number" msgstr "必須是有效的數字" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3184 +#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 msgid "Currency" msgstr "貨幣" -#: InvenTree/serializers.py:114 part/serializers.py:1335 +#: InvenTree/serializers.py:114 part/serializers.py:1372 msgid "Select currency from available options" msgstr "從可用選項中選擇貨幣" @@ -526,29 +526,29 @@ msgstr "損失率不能超過100%" msgid "Invalid value for overage" msgstr "無效的損失值" -#: build/api.py:39 order/api.py:104 order/api.py:263 order/serializers.py:128 +#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "訂單狀態" -#: build/api.py:65 build/models.py:254 +#: build/api.py:64 build/models.py:262 msgid "Parent Build" msgstr "上層生產工單" -#: build/api.py:69 build/api.py:768 order/api.py:512 order/api.py:732 -#: order/api.py:1106 order/api.py:1334 stock/api.py:522 +#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:522 msgid "Include Variants" msgstr "包含變體" -#: build/api.py:85 build/api.py:470 build/api.py:782 build/models.py:260 -#: build/serializers.py:1254 build/serializers.py:1376 -#: build/serializers.py:1427 company/models.py:1044 company/serializers.py:432 -#: order/api.py:291 order/api.py:295 order/api.py:880 order/api.py:1119 -#: order/api.py:1122 order/models.py:1704 order/models.py:1863 -#: order/models.py:1864 part/api.py:1448 part/api.py:1451 part/api.py:1517 -#: part/api.py:1827 part/models.py:457 part/models.py:3195 part/models.py:3339 -#: part/models.py:3487 part/models.py:3508 part/models.py:3530 -#: part/models.py:3666 part/models.py:4027 part/models.py:4299 -#: part/models.py:4665 part/serializers.py:1255 part/serializers.py:1924 +#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/serializers.py:1255 build/serializers.py:1377 +#: build/serializers.py:1428 company/models.py:1044 company/serializers.py:432 +#: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 +#: order/api.py:1139 order/models.py:1770 order/models.py:1940 +#: order/models.py:1941 part/api.py:1482 part/api.py:1485 part/api.py:1551 +#: part/api.py:1861 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: part/models.py:3537 part/models.py:3558 part/models.py:3580 +#: part/models.py:3719 part/models.py:4080 part/models.py:4352 +#: part/models.py:4718 part/serializers.py:1292 part/serializers.py:1961 #: 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 @@ -567,78 +567,78 @@ msgstr "包含變體" msgid "Part" msgstr "零件" -#: build/api.py:105 build/api.py:108 part/api.py:1531 part/models.py:1080 -#: part/models.py:3558 part/models.py:4136 part/serializers.py:1265 +#: build/api.py:104 build/api.py:107 part/api.py:1565 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1302 #: stock/api.py:818 msgid "Category" msgstr "類別" -#: build/api.py:116 build/api.py:120 +#: build/api.py:115 build/api.py:119 msgid "Ancestor Build" msgstr "可測試部分" -#: build/api.py:137 order/api.py:122 +#: build/api.py:136 order/api.py:123 msgid "Assigned to me" msgstr "分配給我" -#: build/api.py:152 +#: build/api.py:151 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "發佈者" -#: build/api.py:167 +#: build/api.py:166 msgid "Assigned To" msgstr "負責人" -#: build/api.py:202 +#: build/api.py:201 msgid "Created before" msgstr "" -#: build/api.py:206 +#: build/api.py:205 msgid "Created after" msgstr "" -#: build/api.py:210 +#: build/api.py:209 msgid "Has start date" msgstr "" -#: build/api.py:218 +#: build/api.py:217 msgid "Start date before" msgstr "" -#: build/api.py:222 +#: build/api.py:221 msgid "Start date after" msgstr "" -#: build/api.py:226 +#: build/api.py:225 msgid "Has target date" msgstr "" -#: build/api.py:234 +#: build/api.py:233 msgid "Target date before" msgstr "" -#: build/api.py:238 +#: build/api.py:237 msgid "Target date after" msgstr "" -#: build/api.py:242 +#: build/api.py:241 msgid "Completed before" msgstr "" -#: build/api.py:246 +#: build/api.py:245 msgid "Completed after" msgstr "" -#: build/api.py:249 order/api.py:219 +#: build/api.py:248 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:272 order/api.py:238 +#: build/api.py:271 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:297 build/api.py:300 part/api.py:224 +#: build/api.py:296 build/api.py:299 part/api.py:224 msgid "Exclude Tree" msgstr "排除樹" @@ -646,16 +646,16 @@ msgstr "排除樹" msgid "Build must be cancelled before it can be deleted" msgstr "工單必須被取消才能被刪除" -#: build/api.py:453 build/serializers.py:1392 part/models.py:4333 +#: build/api.py:453 build/serializers.py:1393 part/models.py:4386 msgid "Consumable" msgstr "耗材" -#: build/api.py:456 build/serializers.py:1395 part/models.py:4327 +#: build/api.py:456 build/serializers.py:1396 part/models.py:4380 msgid "Optional" msgstr "非必須項目" #: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1663 part/serializers.py:1672 stock/api.py:588 +#: part/serializers.py:1700 part/serializers.py:1709 stock/api.py:588 msgid "Assembly" msgstr "裝配" @@ -663,15 +663,15 @@ msgstr "裝配" msgid "Tracked" msgstr "追蹤中" -#: build/api.py:465 build/serializers.py:1398 part/models.py:1229 +#: build/api.py:465 build/serializers.py:1399 part/models.py:1229 msgid "Testable" msgstr "可測試" -#: build/api.py:475 order/api.py:925 +#: build/api.py:475 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:884 +#: build/api.py:485 order/api.py:901 msgid "Allocated" msgstr "已分配" @@ -682,52 +682,56 @@ msgstr "已分配" msgid "Available" msgstr "可用數量" -#: build/api.py:805 build/models.py:116 +#: build/api.py:805 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 msgid "Build Order" msgstr "生產工單" -#: build/models.py:117 users/ruleset.py:37 +#: build/models.py:118 users/ruleset.py:33 msgid "Build Orders" msgstr "生產工單" -#: build/models.py:162 +#: build/models.py:163 msgid "Assembly BOM has not been validated" msgstr "裝配物料清單尚未驗證" -#: build/models.py:169 +#: build/models.py:170 msgid "Build order cannot be created for an inactive part" msgstr "無法為未激活的零件創建生產訂單" -#: build/models.py:176 +#: build/models.py:177 msgid "Build order cannot be created for an unlocked part" msgstr "無法為已解鎖的零件創建生產訂單" -#: build/models.py:188 +#: build/models.py:189 msgid "Invalid choice for parent build" msgstr "無效的上層生產工單選擇" -#: build/models.py:197 order/models.py:363 +#: build/models.py:198 +msgid "Build orders can only be externally fulfilled for purchaseable parts" +msgstr "" + +#: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" msgstr "必須指定負責的用户或組" -#: build/models.py:202 +#: build/models.py:210 msgid "Build order part cannot be changed" msgstr "無法更改生產工單" -#: build/models.py:207 order/models.py:376 +#: build/models.py:215 order/models.py:377 msgid "Target date must be after start date" msgstr "" -#: build/models.py:235 +#: build/models.py:243 msgid "Build Order Reference" msgstr "生產工單代號" -#: build/models.py:236 build/serializers.py:1389 order/models.py:601 -#: order/models.py:1140 order/models.py:1572 order/models.py:2403 -#: part/models.py:4348 +#: build/models.py:244 build/serializers.py:1390 order/models.py:602 +#: order/models.py:1182 order/models.py:1614 order/models.py:2486 +#: part/models.py:4401 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:28 #: report/templates/report/inventree_return_order_report.html:26 @@ -735,206 +739,214 @@ msgstr "生產工單代號" msgid "Reference" msgstr "參考代號" -#: build/models.py:245 +#: build/models.py:253 msgid "Brief description of the build (optional)" msgstr "關於生產工單的簡單説明(選填)" -#: build/models.py:255 +#: build/models.py:263 msgid "BuildOrder to which this build is allocated" msgstr "這張生產工單對應的上層生產工單" -#: build/models.py:264 +#: build/models.py:272 msgid "Select part to build" msgstr "選擇要生產的零件" -#: build/models.py:269 +#: build/models.py:277 msgid "Sales Order Reference" msgstr "銷售訂單代號" -#: build/models.py:274 +#: build/models.py:282 msgid "SalesOrder to which this build is allocated" msgstr "這張生產工單對應的銷售訂單" -#: build/models.py:279 build/serializers.py:1104 +#: build/models.py:287 build/serializers.py:1105 msgid "Source Location" msgstr "來源倉儲地點" -#: build/models.py:285 +#: build/models.py:293 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "選擇領取料件的倉儲地點(留白表示可以從任何地點領取)" -#: build/models.py:291 +#: build/models.py:299 +msgid "External Build" +msgstr "" + +#: build/models.py:300 +msgid "This build order is fulfilled externally" +msgstr "" + +#: build/models.py:305 msgid "Destination Location" msgstr "目標倉儲地點" -#: build/models.py:296 +#: build/models.py:310 msgid "Select location where the completed items will be stored" msgstr "選擇已完成項目庫存地點" -#: build/models.py:300 +#: build/models.py:314 msgid "Build Quantity" msgstr "生產數量" -#: build/models.py:303 +#: build/models.py:317 msgid "Number of stock items to build" msgstr "要生產的項目數量" -#: build/models.py:307 +#: build/models.py:321 msgid "Completed items" msgstr "已完成項目" -#: build/models.py:309 +#: build/models.py:323 msgid "Number of stock items which have been completed" msgstr "已經完成的庫存品數量" -#: build/models.py:313 +#: build/models.py:327 msgid "Build Status" msgstr "生產狀態" -#: build/models.py:318 +#: build/models.py:332 msgid "Build status code" msgstr "生產狀態代碼" -#: build/models.py:327 build/serializers.py:376 order/serializers.py:785 +#: build/models.py:341 build/serializers.py:377 order/serializers.py:792 #: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 msgid "Batch Code" msgstr "批號" -#: build/models.py:331 build/serializers.py:377 +#: build/models.py:345 build/serializers.py:378 msgid "Batch code for this build output" msgstr "此產出的批號" -#: build/models.py:335 order/models.py:466 order/serializers.py:166 +#: build/models.py:349 order/models.py:467 order/serializers.py:167 #: part/models.py:1286 msgid "Creation Date" msgstr "建立日期" -#: build/models.py:341 +#: build/models.py:355 msgid "Build start date" msgstr "" -#: build/models.py:342 +#: build/models.py:356 msgid "Scheduled start date for this build order" msgstr "" -#: build/models.py:348 +#: build/models.py:362 msgid "Target completion date" msgstr "目標完成日期" -#: build/models.py:350 +#: build/models.py:364 msgid "Target date for build completion. Build will be overdue after this date." msgstr "生產的預計完成日期。若超過此日期則工單會逾期。" -#: build/models.py:355 order/models.py:654 order/models.py:2442 +#: build/models.py:369 order/models.py:655 order/models.py:2525 msgid "Completion Date" msgstr "完成日期" -#: build/models.py:363 +#: build/models.py:377 msgid "completed by" msgstr "完成者" -#: build/models.py:372 +#: build/models.py:386 msgid "Issued by" msgstr "發布者" -#: build/models.py:373 +#: build/models.py:387 msgid "User who issued this build order" msgstr "發布此生產工單的使用者" -#: build/models.py:382 common/models.py:132 order/api.py:172 -#: order/models.py:491 part/models.py:1303 +#: build/models.py:396 common/models.py:133 order/api.py:173 +#: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "負責人" -#: build/models.py:383 +#: build/models.py:397 msgid "User or group responsible for this build order" msgstr "負責此生產工單的使用者或羣組" -#: build/models.py:388 stock/models.py:1016 +#: build/models.py:402 stock/models.py:1016 msgid "External Link" msgstr "外部連結" -#: build/models.py:390 common/models.py:1899 part/models.py:1114 +#: build/models.py:404 common/models.py:1931 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "外部URL連結" -#: build/models.py:395 +#: build/models.py:409 msgid "Build Priority" msgstr "製造優先度" -#: build/models.py:398 +#: build/models.py:412 msgid "Priority of this build order" msgstr "此生產工單的優先程度" -#: build/models.py:406 common/models.py:102 common/models.py:116 -#: order/api.py:158 order/models.py:438 +#: build/models.py:420 common/models.py:103 common/models.py:117 +#: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "專案代碼" -#: build/models.py:407 +#: build/models.py:421 msgid "Project code for this build order" msgstr "此生產工單隸屬的專案代碼" -#: build/models.py:680 build/models.py:803 +#: build/models.py:694 build/models.py:817 msgid "Failed to offload task to complete build allocations" msgstr "未能卸載任務以完成生產分配" -#: build/models.py:703 +#: build/models.py:717 #, python-brace-format msgid "Build order {build} has been completed" msgstr "生產工單 {build} 已經完成" -#: build/models.py:709 +#: build/models.py:723 msgid "A build order has been completed" msgstr "一張生產工單已經完成" -#: build/models.py:881 build/serializers.py:424 +#: build/models.py:895 build/serializers.py:425 msgid "Serial numbers must be provided for trackable parts" msgstr "對於可跟蹤的零件,必須提供序列號" -#: build/models.py:991 build/models.py:1076 +#: build/models.py:1005 build/models.py:1090 msgid "No build output specified" msgstr "未指定產出" -#: build/models.py:994 +#: build/models.py:1008 msgid "Build output is already completed" msgstr "產出已完成" -#: build/models.py:997 +#: build/models.py:1011 msgid "Build output does not match Build Order" msgstr "產出與生產訂單不匹配" -#: build/models.py:1079 build/serializers.py:303 build/serializers.py:352 -#: build/serializers.py:972 order/models.py:704 order/serializers.py:601 -#: order/serializers.py:780 part/serializers.py:1657 stock/models.py:863 +#: build/models.py:1093 build/serializers.py:304 build/serializers.py:353 +#: build/serializers.py:973 order/models.py:705 order/serializers.py:604 +#: order/serializers.py:787 part/serializers.py:1694 stock/models.py:863 #: stock/models.py:1730 stock/serializers.py:727 msgid "Quantity must be greater than zero" msgstr "數量必須大於零" -#: build/models.py:1083 build/serializers.py:307 +#: build/models.py:1097 build/serializers.py:308 msgid "Quantity cannot be greater than the output quantity" msgstr "數量不能大於輸出數量" -#: build/models.py:1148 build/serializers.py:615 +#: build/models.py:1162 build/serializers.py:616 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "產出 {serial} 未通過所有必要測試" -#: build/models.py:1534 +#: build/models.py:1548 msgid "Build Order Line Item" msgstr "生產訂單行項目" -#: build/models.py:1558 +#: build/models.py:1572 msgid "Build object" msgstr "生產對象" -#: build/models.py:1570 build/models.py:1829 build/serializers.py:291 -#: build/serializers.py:337 build/serializers.py:1410 common/models.py:1255 -#: order/models.py:1555 order/models.py:2288 order/serializers.py:1670 -#: order/serializers.py:2131 part/models.py:3353 part/models.py:4321 -#: part/serializers.py:275 +#: build/models.py:1584 build/models.py:1843 build/serializers.py:292 +#: build/serializers.py:338 build/serializers.py:1411 common/models.py:1287 +#: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 +#: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 +#: part/serializers.py:274 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:29 @@ -949,412 +961,412 @@ msgstr "生產對象" msgid "Quantity" msgstr "數量" -#: build/models.py:1571 +#: build/models.py:1585 msgid "Required quantity for build order" msgstr "生產工單所需數量" -#: build/models.py:1655 +#: build/models.py:1669 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "生產項必須指定產出,因為主零件已經被標記為可追蹤的" -#: build/models.py:1666 +#: build/models.py:1680 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "分配的數量({q})不能超過可用的庫存數量({a})" -#: build/models.py:1687 order/models.py:2237 +#: build/models.py:1701 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "庫存品項超額分配" -#: build/models.py:1692 order/models.py:2240 +#: build/models.py:1706 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "分配的數量必須大於零" -#: build/models.py:1698 +#: build/models.py:1712 msgid "Quantity must be 1 for serialized stock" msgstr "有序號的品項數量必須為1" -#: build/models.py:1758 +#: build/models.py:1772 msgid "Selected stock item does not match BOM line" msgstr "選擇的庫存品項和BOM的項目不符" -#: build/models.py:1819 build/serializers.py:955 build/serializers.py:1263 -#: order/serializers.py:1507 order/serializers.py:1528 +#: build/models.py:1833 build/serializers.py:956 build/serializers.py:1264 +#: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 #: stock/serializers.py:1357 stock/serializers.py:1469 msgid "Stock Item" msgstr "庫存品項" -#: build/models.py:1820 +#: build/models.py:1834 msgid "Source stock item" msgstr "來源庫存項目" -#: build/models.py:1830 +#: build/models.py:1844 msgid "Stock quantity to allocate to build" msgstr "要分配的庫存數量" -#: build/models.py:1839 +#: build/models.py:1853 msgid "Install into" msgstr "安裝到" -#: build/models.py:1840 +#: build/models.py:1854 msgid "Destination stock item" msgstr "目的庫存品項" -#: build/serializers.py:116 +#: build/serializers.py:117 msgid "Build Level" msgstr "構建等級" -#: build/serializers.py:125 part/stocktake.py:219 +#: build/serializers.py:126 part/stocktake.py:219 msgid "Part Name" msgstr "零件名稱" -#: build/serializers.py:143 +#: build/serializers.py:144 msgid "Project Code Label" msgstr "項目編碼標籤" -#: build/serializers.py:155 +#: build/serializers.py:156 msgid "Create Child Builds" msgstr "新建子生產項目" -#: build/serializers.py:156 +#: build/serializers.py:157 msgid "Automatically generate child build orders" msgstr "自動生成子生成工單" -#: build/serializers.py:239 build/serializers.py:981 +#: build/serializers.py:240 build/serializers.py:982 msgid "Build Output" msgstr "產出" -#: build/serializers.py:251 +#: build/serializers.py:252 msgid "Build output does not match the parent build" msgstr "產出與之前的生產不匹配" -#: build/serializers.py:255 +#: build/serializers.py:256 msgid "Output part does not match BuildOrder part" msgstr "產出零件與生產訂單零件不匹配" -#: build/serializers.py:259 +#: build/serializers.py:260 msgid "This build output has already been completed" msgstr "此產出已經完成" -#: build/serializers.py:273 +#: build/serializers.py:274 msgid "This build output is not fully allocated" msgstr "此產出尚未完全分配" -#: build/serializers.py:292 build/serializers.py:338 +#: build/serializers.py:293 build/serializers.py:339 msgid "Enter quantity for build output" msgstr "輸入產出數量" -#: build/serializers.py:360 +#: build/serializers.py:361 msgid "Integer quantity required for trackable parts" msgstr "可追蹤的零件數量必須為整數" -#: build/serializers.py:366 +#: build/serializers.py:367 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "因為BOM包含可追蹤的零件,所以數量必須為整數" -#: build/serializers.py:383 order/serializers.py:801 order/serializers.py:1674 +#: build/serializers.py:384 order/serializers.py:808 order/serializers.py:1682 #: stock/serializers.py:738 msgid "Serial Numbers" msgstr "序號" -#: build/serializers.py:384 +#: build/serializers.py:385 msgid "Enter serial numbers for build outputs" msgstr "輸出產出的序列號" -#: build/serializers.py:389 build/serializers.py:514 build/serializers.py:584 -#: build/serializers.py:1267 build/serializers.py:1271 order/serializers.py:769 -#: order/serializers.py:916 order/serializers.py:2022 part/serializers.py:1275 +#: build/serializers.py:390 build/serializers.py:515 build/serializers.py:585 +#: build/serializers.py:1268 build/serializers.py:1272 order/serializers.py:776 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1312 #: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 #: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:551 +#: stock/serializers.py:1789 users/models.py:555 msgid "Location" msgstr "地點" -#: build/serializers.py:390 +#: build/serializers.py:391 msgid "Stock location for build output" msgstr "生產輸出的庫存地點" -#: build/serializers.py:405 +#: build/serializers.py:406 msgid "Auto Allocate Serial Numbers" msgstr "自動分配序號" -#: build/serializers.py:407 +#: build/serializers.py:408 msgid "Automatically allocate required items with matching serial numbers" msgstr "自動為需要項目分配對應的序號" -#: build/serializers.py:440 order/serializers.py:894 stock/api.py:1077 +#: build/serializers.py:441 order/serializers.py:901 stock/api.py:1077 #: stock/models.py:1753 msgid "The following serial numbers already exist or are invalid" msgstr "序號已存在或無效" -#: build/serializers.py:482 build/serializers.py:538 build/serializers.py:622 +#: build/serializers.py:483 build/serializers.py:539 build/serializers.py:623 msgid "A list of build outputs must be provided" msgstr "必須提供產出清單" -#: build/serializers.py:515 +#: build/serializers.py:516 msgid "Stock location for scrapped outputs" msgstr "廢品產出的庫存位置" -#: build/serializers.py:521 +#: build/serializers.py:522 msgid "Discard Allocations" msgstr "放棄分配" -#: build/serializers.py:522 +#: build/serializers.py:523 msgid "Discard any stock allocations for scrapped outputs" msgstr "取消對廢品產出的任何庫存分配" -#: build/serializers.py:527 +#: build/serializers.py:528 msgid "Reason for scrapping build output(s)" msgstr "廢品產出的原因" -#: build/serializers.py:585 +#: build/serializers.py:586 msgid "Location for completed build outputs" msgstr "已完成刪除的庫存地點" -#: build/serializers.py:593 +#: build/serializers.py:594 msgid "Accept Incomplete Allocation" msgstr "接受不完整的分配" -#: build/serializers.py:594 +#: build/serializers.py:595 msgid "Complete outputs if stock has not been fully allocated" msgstr "如果庫存尚未全部分配,則完成產出" -#: build/serializers.py:709 +#: build/serializers.py:710 msgid "Consume Allocated Stock" msgstr "消費已分配的庫存" -#: build/serializers.py:710 +#: build/serializers.py:711 msgid "Consume any stock which has already been allocated to this build" msgstr "消耗已分配給此生產的任何庫存" -#: build/serializers.py:716 +#: build/serializers.py:717 msgid "Remove Incomplete Outputs" msgstr "移除未完成的產出" -#: build/serializers.py:717 +#: build/serializers.py:718 msgid "Delete any build outputs which have not been completed" msgstr "刪除所有未完成的產出" -#: build/serializers.py:744 +#: build/serializers.py:745 msgid "Not permitted" msgstr "不允許" -#: build/serializers.py:745 +#: build/serializers.py:746 msgid "Accept as consumed by this build order" msgstr "接受作為此生產訂單的消費" -#: build/serializers.py:746 +#: build/serializers.py:747 msgid "Deallocate before completing this build order" msgstr "完成此生產訂單前取消分配" -#: build/serializers.py:773 +#: build/serializers.py:774 msgid "Overallocated Stock" msgstr "超出分配的庫存" -#: build/serializers.py:776 +#: build/serializers.py:777 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "如何處理分配給生產訂單的額外庫存項" -#: build/serializers.py:787 +#: build/serializers.py:788 msgid "Some stock items have been overallocated" msgstr "有庫存項目已被過度分配" -#: build/serializers.py:792 +#: build/serializers.py:793 msgid "Accept Unallocated" msgstr "接受未分配" -#: build/serializers.py:794 +#: build/serializers.py:795 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "接受庫存項未被完全分配至生產訂單" -#: build/serializers.py:805 +#: build/serializers.py:806 msgid "Required stock has not been fully allocated" msgstr "所需庫存尚未完全分配" -#: build/serializers.py:810 order/serializers.py:444 order/serializers.py:1575 +#: build/serializers.py:811 order/serializers.py:445 order/serializers.py:1583 msgid "Accept Incomplete" msgstr "接受不完整" -#: build/serializers.py:812 +#: build/serializers.py:813 msgid "Accept that the required number of build outputs have not been completed" msgstr "允許所需數量的產出未完成" -#: build/serializers.py:823 +#: build/serializers.py:824 msgid "Required build quantity has not been completed" msgstr "未完成所需生產數量" -#: build/serializers.py:835 +#: build/serializers.py:836 msgid "Build order has open child build orders" msgstr "生產訂單有打開的子生產訂單" -#: build/serializers.py:838 +#: build/serializers.py:839 msgid "Build order must be in production state" msgstr "生產訂單必須處於生產狀態" -#: build/serializers.py:841 +#: build/serializers.py:842 msgid "Build order has incomplete outputs" msgstr "生產訂單有未完成的產出" -#: build/serializers.py:880 +#: build/serializers.py:881 msgid "Build Line" msgstr "生產行" -#: build/serializers.py:888 +#: build/serializers.py:889 msgid "Build output" msgstr "產出" -#: build/serializers.py:896 +#: build/serializers.py:897 msgid "Build output must point to the same build" msgstr "生產產出必須指向相同的生產" -#: build/serializers.py:927 +#: build/serializers.py:928 msgid "Build Line Item" msgstr "生產行項目" -#: build/serializers.py:945 +#: build/serializers.py:946 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part 必須與生產訂單零件相同" -#: build/serializers.py:961 stock/serializers.py:1370 +#: build/serializers.py:962 stock/serializers.py:1370 msgid "Item must be in stock" msgstr "商品必須有庫存" -#: build/serializers.py:1004 order/serializers.py:1561 +#: build/serializers.py:1005 order/serializers.py:1569 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "可用量 ({q}) 超出限制" -#: build/serializers.py:1010 +#: build/serializers.py:1011 msgid "Build output must be specified for allocation of tracked parts" msgstr "對於被追蹤的零件的分配,必須指定生產產出" -#: build/serializers.py:1018 +#: build/serializers.py:1019 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "對於未被追蹤的零件,無法指定生產產出" -#: build/serializers.py:1042 order/serializers.py:1834 +#: build/serializers.py:1043 order/serializers.py:1842 msgid "Allocation items must be provided" msgstr "必須提供分配項目" -#: build/serializers.py:1106 +#: build/serializers.py:1107 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "零件來源的庫存地點(留空則可來源於任何庫存地點)" -#: build/serializers.py:1115 +#: build/serializers.py:1116 msgid "Exclude Location" msgstr "排除位置" -#: build/serializers.py:1116 +#: build/serializers.py:1117 msgid "Exclude stock items from this selected location" msgstr "從該選定的庫存地點排除庫存項" -#: build/serializers.py:1121 +#: build/serializers.py:1122 msgid "Interchangeable Stock" msgstr "可互換庫存" -#: build/serializers.py:1122 +#: build/serializers.py:1123 msgid "Stock items in multiple locations can be used interchangeably" msgstr "在多個位置的庫存項目可以互換使用" -#: build/serializers.py:1127 +#: build/serializers.py:1128 msgid "Substitute Stock" msgstr "替代品庫存" -#: build/serializers.py:1128 +#: build/serializers.py:1129 msgid "Allow allocation of substitute parts" msgstr "允許分配可替換的零件" -#: build/serializers.py:1133 +#: build/serializers.py:1134 msgid "Optional Items" msgstr "可選項目" -#: build/serializers.py:1134 +#: build/serializers.py:1135 msgid "Allocate optional BOM items to build order" msgstr "分配可選的物料清單給生產訂單" -#: build/serializers.py:1156 +#: build/serializers.py:1157 msgid "Failed to start auto-allocation task" msgstr "啓動自動分配任務失敗" -#: build/serializers.py:1230 +#: build/serializers.py:1231 msgid "BOM Reference" msgstr "物料清單參考" -#: build/serializers.py:1236 +#: build/serializers.py:1237 msgid "BOM Part ID" msgstr "物料清單零件識別號碼" -#: build/serializers.py:1243 +#: build/serializers.py:1244 msgid "BOM Part Name" msgstr "物料清單零件名稱" -#: build/serializers.py:1278 build/serializers.py:1434 +#: build/serializers.py:1279 build/serializers.py:1435 msgid "Build" msgstr "" -#: build/serializers.py:1286 company/models.py:662 order/api.py:304 -#: order/api.py:309 order/api.py:508 order/serializers.py:593 +#: build/serializers.py:1287 company/models.py:662 order/api.py:305 +#: order/api.py:310 order/api.py:525 order/serializers.py:596 #: stock/models.py:959 stock/serializers.py:631 msgid "Supplier Part" msgstr "供應商零件" -#: build/serializers.py:1294 stock/serializers.py:662 +#: build/serializers.py:1295 stock/serializers.py:662 msgid "Allocated Quantity" msgstr "已分配數量" -#: build/serializers.py:1371 +#: build/serializers.py:1372 msgid "Build Reference" msgstr "構建參考" -#: build/serializers.py:1381 +#: build/serializers.py:1382 msgid "Part Category Name" msgstr "零件類別名稱" -#: build/serializers.py:1401 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1402 common/setting/system.py:453 part/models.py:1223 msgid "Trackable" msgstr "可追蹤" -#: build/serializers.py:1404 +#: build/serializers.py:1405 msgid "Inherited" msgstr "已繼承的" -#: build/serializers.py:1407 part/models.py:4381 +#: build/serializers.py:1408 part/models.py:4434 msgid "Allow Variants" msgstr "允許變體" -#: build/serializers.py:1412 build/serializers.py:1416 part/models.py:4179 -#: part/models.py:4657 stock/api.py:831 +#: build/serializers.py:1413 build/serializers.py:1417 part/models.py:4232 +#: part/models.py:4710 stock/api.py:831 msgid "BOM Item" msgstr "物料清單項" -#: build/serializers.py:1445 +#: build/serializers.py:1446 msgid "Allocated Stock" msgstr "分配庫存" -#: build/serializers.py:1447 company/serializers.py:424 -#: order/serializers.py:1271 part/serializers.py:943 part/serializers.py:1690 +#: build/serializers.py:1448 company/serializers.py:424 +#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1727 msgid "On Order" msgstr "已訂購" -#: build/serializers.py:1449 order/serializers.py:1272 part/serializers.py:1694 +#: build/serializers.py:1450 order/serializers.py:1279 part/serializers.py:1731 msgid "In Production" msgstr "生產中" -#: build/serializers.py:1451 part/serializers.py:964 +#: build/serializers.py:1452 part/serializers.py:995 msgid "External Stock" msgstr "外部庫存" -#: build/serializers.py:1452 part/serializers.py:1723 +#: build/serializers.py:1453 part/serializers.py:1760 msgid "Available Stock" msgstr "可用庫存" -#: build/serializers.py:1454 +#: build/serializers.py:1455 msgid "Available Substitute Stock" msgstr "可用的替代品庫存" -#: build/serializers.py:1457 +#: build/serializers.py:1458 msgid "Available Variant Stock" msgstr "可用的變體庫存" @@ -1429,544 +1441,544 @@ msgstr "未提供有效的貨幣代碼" msgid "No plugin" msgstr "暫無插件" -#: common/models.py:89 +#: common/models.py:90 msgid "Updated" msgstr "已是最新" -#: common/models.py:90 +#: common/models.py:91 msgid "Timestamp of last update" msgstr "最後更新時間戳" -#: common/models.py:117 +#: common/models.py:118 msgid "Unique project code" msgstr "唯一項目編碼" -#: common/models.py:124 +#: common/models.py:125 msgid "Project description" msgstr "項目描述" -#: common/models.py:133 +#: common/models.py:134 msgid "User or group responsible for this project" msgstr "負責此項目的用户或羣組" -#: common/models.py:721 common/models.py:1187 common/models.py:1225 +#: common/models.py:722 common/models.py:1219 common/models.py:1257 msgid "Settings key" msgstr "" -#: common/models.py:725 +#: common/models.py:726 msgid "Settings value" msgstr "設定值" -#: common/models.py:780 +#: common/models.py:781 msgid "Chosen value is not a valid option" msgstr "所選值不是一個有效的選項" -#: common/models.py:796 +#: common/models.py:797 msgid "Value must be a boolean value" msgstr "該值必須是布爾值" -#: common/models.py:804 +#: common/models.py:805 msgid "Value must be an integer value" msgstr "該值必須為整數" -#: common/models.py:812 +#: common/models.py:813 msgid "Value must be a valid number" msgstr "" -#: common/models.py:837 +#: common/models.py:838 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:859 +#: common/models.py:860 msgid "Key string must be unique" msgstr "鍵字符串必須是唯一的" -#: common/models.py:1233 common/models.py:1234 common/models.py:1338 -#: common/models.py:1339 common/models.py:1584 common/models.py:1585 -#: common/models.py:1915 common/models.py:1916 common/models.py:2297 -#: importer/models.py:97 part/models.py:3376 part/models.py:3463 -#: part/models.py:3537 part/models.py:3565 plugin/models.py:322 +#: common/models.py:1265 common/models.py:1266 common/models.py:1370 +#: common/models.py:1371 common/models.py:1616 common/models.py:1617 +#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: importer/models.py:97 part/models.py:3426 part/models.py:3513 +#: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 -#: users/models.py:130 users/models.py:503 +#: users/models.py:130 users/models.py:507 msgid "User" msgstr "使用者" -#: common/models.py:1256 +#: common/models.py:1288 msgid "Price break quantity" msgstr "批發價數量" -#: common/models.py:1263 company/serializers.py:567 order/models.py:1632 -#: order/models.py:2734 +#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: order/models.py:2817 msgid "Price" msgstr "價格" -#: common/models.py:1264 +#: common/models.py:1296 msgid "Unit price at specified quantity" msgstr "指定數量的單位價格" -#: common/models.py:1315 common/models.py:1500 +#: common/models.py:1347 common/models.py:1532 msgid "Endpoint" msgstr "端點" -#: common/models.py:1316 +#: common/models.py:1348 msgid "Endpoint at which this webhook is received" msgstr "接收此網絡鈎子的端點" -#: common/models.py:1326 +#: common/models.py:1358 msgid "Name for this webhook" msgstr "此網絡鈎子的名稱" -#: common/models.py:1330 common/models.py:2156 common/models.py:2263 +#: common/models.py:1362 common/models.py:2188 common/models.py:2295 #: company/models.py:164 company/models.py:799 machine/models.py:39 #: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 -#: users/models.py:556 users/serializers.py:333 +#: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "激活" -#: common/models.py:1330 +#: common/models.py:1362 msgid "Is this webhook active" msgstr "網絡鈎子是否已啓用" -#: common/models.py:1346 users/models.py:178 +#: common/models.py:1378 users/models.py:178 msgid "Token" msgstr "令牌" -#: common/models.py:1347 +#: common/models.py:1379 msgid "Token for access" msgstr "訪問令牌" -#: common/models.py:1355 +#: common/models.py:1387 msgid "Secret" msgstr "密鑰" -#: common/models.py:1356 +#: common/models.py:1388 msgid "Shared secret for HMAC" msgstr "HMAC共享密鑰" -#: common/models.py:1464 +#: common/models.py:1496 msgid "Message ID" msgstr "消息ID" -#: common/models.py:1465 +#: common/models.py:1497 msgid "Unique identifier for this message" msgstr "此郵件的唯一標識符" -#: common/models.py:1473 +#: common/models.py:1505 msgid "Host" msgstr "主機" -#: common/models.py:1474 +#: common/models.py:1506 msgid "Host from which this message was received" msgstr "接收此消息的主機" -#: common/models.py:1482 +#: common/models.py:1514 msgid "Header" msgstr "標題" -#: common/models.py:1483 +#: common/models.py:1515 msgid "Header of this message" msgstr "此消息的標題" -#: common/models.py:1490 +#: common/models.py:1522 msgid "Body" msgstr "正文" -#: common/models.py:1491 +#: common/models.py:1523 msgid "Body of this message" msgstr "此消息的正文" -#: common/models.py:1501 +#: common/models.py:1533 msgid "Endpoint on which this message was received" msgstr "接收此消息的終點" -#: common/models.py:1506 +#: common/models.py:1538 msgid "Worked on" msgstr "工作於" -#: common/models.py:1507 +#: common/models.py:1539 msgid "Was the work on this message finished?" msgstr "這條消息的工作完成了嗎?" -#: common/models.py:1633 +#: common/models.py:1665 msgid "Id" msgstr "標識" -#: common/models.py:1635 part/serializers.py:281 +#: common/models.py:1667 part/serializers.py:280 msgid "Title" msgstr "標題" -#: common/models.py:1637 common/models.py:1898 company/models.py:149 +#: common/models.py:1669 common/models.py:1930 company/models.py:149 #: company/models.py:445 company/models.py:512 company/models.py:816 -#: order/models.py:444 order/models.py:1585 order/models.py:2056 +#: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "連結" -#: common/models.py:1639 +#: common/models.py:1671 msgid "Published" msgstr "已發佈" -#: common/models.py:1641 +#: common/models.py:1673 msgid "Author" msgstr "作者" -#: common/models.py:1643 +#: common/models.py:1675 msgid "Summary" msgstr "摘要" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Read" msgstr "閲讀" -#: common/models.py:1646 +#: common/models.py:1678 msgid "Was this news item read?" msgstr "這條新聞被閲讀了嗎?" -#: common/models.py:1663 company/models.py:160 part/models.py:1124 +#: common/models.py:1695 company/models.py:160 part/models.py:1124 #: 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 msgid "Image" msgstr "圖像" -#: common/models.py:1663 +#: common/models.py:1695 msgid "Image file" msgstr "圖像文件" -#: common/models.py:1675 +#: common/models.py:1707 msgid "Target model type for this image" msgstr "此圖像的目標模型類型" -#: common/models.py:1679 +#: common/models.py:1711 msgid "Target model ID for this image" msgstr "此圖像的目標型號ID" -#: common/models.py:1701 +#: common/models.py:1733 msgid "Custom Unit" msgstr "自定義單位" -#: common/models.py:1719 +#: common/models.py:1751 msgid "Unit symbol must be unique" msgstr "單位符號必須唯一" -#: common/models.py:1734 +#: common/models.py:1766 msgid "Unit name must be a valid identifier" msgstr "單位名稱必須是有效的標識符" -#: common/models.py:1753 +#: common/models.py:1785 msgid "Unit name" msgstr "單位名稱" -#: common/models.py:1760 +#: common/models.py:1792 msgid "Symbol" msgstr "符號" -#: common/models.py:1761 +#: common/models.py:1793 msgid "Optional unit symbol" msgstr "可選單位符號" -#: common/models.py:1767 +#: common/models.py:1799 msgid "Definition" msgstr "定義" -#: common/models.py:1768 +#: common/models.py:1800 msgid "Unit definition" msgstr "單位定義" -#: common/models.py:1826 common/models.py:1889 stock/models.py:2827 +#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 #: stock/serializers.py:258 msgid "Attachment" msgstr "附件" -#: common/models.py:1843 +#: common/models.py:1875 msgid "Missing file" msgstr "缺少檔案" -#: common/models.py:1844 +#: common/models.py:1876 msgid "Missing external link" msgstr "缺少外部連結" -#: common/models.py:1881 +#: common/models.py:1913 msgid "Model type" msgstr "" -#: common/models.py:1882 +#: common/models.py:1914 msgid "Target model type for image" msgstr "" -#: common/models.py:1890 +#: common/models.py:1922 msgid "Select file to attach" msgstr "選擇附件" -#: common/models.py:1906 +#: common/models.py:1938 msgid "Comment" msgstr "註解" -#: common/models.py:1907 +#: common/models.py:1939 msgid "Attachment comment" msgstr "附件評論" -#: common/models.py:1923 +#: common/models.py:1955 msgid "Upload date" msgstr "上傳日期" -#: common/models.py:1924 +#: common/models.py:1956 msgid "Date the file was uploaded" msgstr "上傳文件的日期" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size" msgstr "文件大小" -#: common/models.py:1928 +#: common/models.py:1960 msgid "File size in bytes" msgstr "文件大小,以字節為單位" -#: common/models.py:1966 common/serializers.py:637 +#: common/models.py:1998 common/serializers.py:658 msgid "Invalid model type specified for attachment" msgstr "為附件指定的模型類型無效" -#: common/models.py:1987 +#: common/models.py:2019 msgid "Custom State" msgstr "自定狀態" -#: common/models.py:1988 +#: common/models.py:2020 msgid "Custom States" msgstr "定製狀態" -#: common/models.py:1993 +#: common/models.py:2025 msgid "Reference Status Set" msgstr "參考狀態設定" -#: common/models.py:1994 +#: common/models.py:2026 msgid "Status set that is extended with this custom state" msgstr "使用此自定義狀態擴展狀態的狀態集" -#: common/models.py:1998 generic/states/serializers.py:18 +#: common/models.py:2030 generic/states/serializers.py:18 msgid "Logical Key" msgstr "邏輯密鑰" -#: common/models.py:2000 +#: common/models.py:2032 msgid "State logical key that is equal to this custom state in business logic" msgstr "等同於商業邏輯中自定義狀態的狀態邏輯鍵" -#: common/models.py:2005 common/models.py:2244 company/models.py:600 +#: common/models.py:2037 common/models.py:2276 company/models.py:600 #: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 msgid "Value" msgstr "值" -#: common/models.py:2006 +#: common/models.py:2038 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2012 +#: common/models.py:2044 msgid "Name of the state" msgstr "狀態名" -#: common/models.py:2021 common/models.py:2250 generic/states/serializers.py:22 -#: part/serializers.py:283 +#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 +#: part/serializers.py:282 msgid "Label" msgstr "標籤" -#: common/models.py:2022 +#: common/models.py:2054 msgid "Label that will be displayed in the frontend" msgstr "在前端顯示的標籤" -#: common/models.py:2029 generic/states/serializers.py:24 +#: common/models.py:2061 generic/states/serializers.py:24 msgid "Color" msgstr "顏色" -#: common/models.py:2030 +#: common/models.py:2062 msgid "Color that will be displayed in the frontend" msgstr "將在前端顯示顏色" -#: common/models.py:2038 part/serializers.py:285 +#: common/models.py:2070 part/serializers.py:284 msgid "Model" msgstr "模式" -#: common/models.py:2039 +#: common/models.py:2071 msgid "Model this state is associated with" msgstr "該狀態關聯的模型" -#: common/models.py:2054 +#: common/models.py:2086 msgid "Model must be selected" msgstr "必須選定模型" -#: common/models.py:2057 +#: common/models.py:2089 msgid "Key must be selected" msgstr "必須選取密鑰" -#: common/models.py:2060 +#: common/models.py:2092 msgid "Logical key must be selected" msgstr "必須選中邏輯密鑰" -#: common/models.py:2064 +#: common/models.py:2096 msgid "Key must be different from logical key" msgstr "密鑰必須不同於邏輯密鑰" -#: common/models.py:2071 +#: common/models.py:2103 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2077 +#: common/models.py:2109 msgid "Key must be different from the logical keys of the reference status" msgstr "密鑰必須不同於參考狀態的邏輯密鑰" -#: common/models.py:2084 +#: common/models.py:2116 msgid "Logical key must be in the logical keys of the reference status" msgstr "邏輯密鑰必須在參考狀態的邏輯鍵中" -#: common/models.py:2091 +#: common/models.py:2123 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2131 common/models.py:2238 part/models.py:3876 +#: common/models.py:2163 common/models.py:2270 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2132 +#: common/models.py:2164 msgid "Selection Lists" msgstr "" -#: common/models.py:2137 +#: common/models.py:2169 msgid "Name of the selection list" msgstr "" -#: common/models.py:2144 +#: common/models.py:2176 msgid "Description of the selection list" msgstr "" -#: common/models.py:2150 part/models.py:1251 +#: common/models.py:2182 part/models.py:1251 msgid "Locked" msgstr "已鎖定" -#: common/models.py:2151 +#: common/models.py:2183 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2157 +#: common/models.py:2189 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2165 +#: common/models.py:2197 msgid "Source Plugin" msgstr "" -#: common/models.py:2166 +#: common/models.py:2198 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2171 +#: common/models.py:2203 msgid "Source String" msgstr "" -#: common/models.py:2172 +#: common/models.py:2204 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2181 +#: common/models.py:2213 msgid "Default Entry" msgstr "" -#: common/models.py:2182 +#: common/models.py:2214 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2187 +#: common/models.py:2219 msgid "Created" msgstr "已創建" -#: common/models.py:2188 +#: common/models.py:2220 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2193 +#: common/models.py:2225 msgid "Last Updated" msgstr "最近更新" -#: common/models.py:2194 +#: common/models.py:2226 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2228 +#: common/models.py:2260 msgid "Selection List Entry" msgstr "" -#: common/models.py:2229 +#: common/models.py:2261 msgid "Selection List Entries" msgstr "" -#: common/models.py:2239 +#: common/models.py:2271 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2245 +#: common/models.py:2277 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2251 +#: common/models.py:2283 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2257 +#: common/models.py:2289 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2264 +#: common/models.py:2296 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2282 +#: common/models.py:2314 msgid "Barcode Scan" msgstr "掃描條碼" -#: common/models.py:2286 importer/models.py:523 part/models.py:4041 +#: common/models.py:2318 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "數據" -#: common/models.py:2287 +#: common/models.py:2319 msgid "Barcode data" msgstr "條碼數據" -#: common/models.py:2298 +#: common/models.py:2330 msgid "User who scanned the barcode" msgstr "掃描條碼" -#: common/models.py:2303 importer/models.py:66 +#: common/models.py:2335 importer/models.py:66 msgid "Timestamp" msgstr "時間戳" -#: common/models.py:2304 +#: common/models.py:2336 msgid "Date and time of the barcode scan" msgstr "掃描條碼的日期和時間" -#: common/models.py:2310 +#: common/models.py:2342 msgid "URL endpoint which processed the barcode" msgstr "處理條碼的 URL 終點" -#: common/models.py:2317 order/models.py:1622 plugin/serializers.py:93 +#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "上下文" -#: common/models.py:2318 +#: common/models.py:2350 msgid "Context data for the barcode scan" msgstr "掃描條碼的上下文數據" -#: common/models.py:2325 +#: common/models.py:2357 msgid "Response" msgstr "響應" -#: common/models.py:2326 +#: common/models.py:2358 msgid "Response data from the barcode scan" msgstr "掃描條碼的響應數據" -#: common/models.py:2332 report/templates/report/inventree_test_report.html:103 +#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 #: stock/models.py:2813 msgid "Result" msgstr "結果" -#: common/models.py:2333 +#: common/models.py:2365 msgid "Was the barcode scan successful?" msgstr "條碼掃描成功嗎?" @@ -1988,7 +2000,7 @@ msgstr "{verbose_name} 已取消" msgid "A order that is assigned to you was canceled" msgstr "分配給您的訂單已取消" -#: common/notifications.py:348 common/notifications.py:355 order/api.py:559 +#: common/notifications.py:348 common/notifications.py:355 order/api.py:576 msgid "Items Received" msgstr "收到的物品" @@ -2004,80 +2016,88 @@ msgstr "已收到退貨訂單中的物品" msgid "Error raised by plugin" msgstr "插件引發的錯誤" -#: common/serializers.py:451 +#: common/serializers.py:132 +msgid "Indicates if the setting is overridden by an environment variable" +msgstr "" + +#: common/serializers.py:134 +msgid "Override" +msgstr "" + +#: common/serializers.py:472 msgid "Is Running" msgstr "正在運行" -#: common/serializers.py:457 +#: common/serializers.py:478 msgid "Pending Tasks" msgstr "等待完成的任務" -#: common/serializers.py:463 +#: common/serializers.py:484 msgid "Scheduled Tasks" msgstr "預定的任務" -#: common/serializers.py:469 +#: common/serializers.py:490 msgid "Failed Tasks" msgstr "失敗的任務" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Task ID" msgstr "任務ID" -#: common/serializers.py:484 +#: common/serializers.py:505 msgid "Unique task ID" msgstr "唯一任務ID" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock" msgstr "鎖定" -#: common/serializers.py:486 +#: common/serializers.py:507 msgid "Lock time" msgstr "鎖定時間" -#: common/serializers.py:488 +#: common/serializers.py:509 msgid "Task name" msgstr "任務名稱" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function" msgstr "功能" -#: common/serializers.py:490 +#: common/serializers.py:511 msgid "Function name" msgstr "功能名稱" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Arguments" msgstr "參數" -#: common/serializers.py:492 +#: common/serializers.py:513 msgid "Task arguments" msgstr "任務參數" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Keyword Arguments" msgstr "關鍵字參數" -#: common/serializers.py:495 +#: common/serializers.py:516 msgid "Task keyword arguments" msgstr "任務關鍵詞參數" -#: common/serializers.py:605 +#: common/serializers.py:626 msgid "Filename" msgstr "檔案名稱" -#: common/serializers.py:612 importer/models.py:86 report/api.py:41 +#: common/serializers.py:633 importer/models.py:86 report/api.py:41 #: report/models.py:277 report/serializers.py:53 msgid "Model Type" msgstr "模型類型" -#: common/serializers.py:640 +#: common/serializers.py:661 msgid "User does not have permission to create or edit attachments for this model" msgstr "用户無權為此模式創建或編輯附件" -#: common/serializers.py:684 common/serializers.py:787 +#: common/serializers.py:705 common/serializers.py:808 msgid "Selection list is locked" msgstr "" @@ -2188,8 +2208,8 @@ msgstr "檢查更新的頻率(設置為零以禁用)" #: common/setting/system.py:241 common/setting/system.py:281 #: common/setting/system.py:294 common/setting/system.py:302 #: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:567 common/setting/system.py:587 -#: common/setting/system.py:684 common/setting/system.py:1068 +#: common/setting/system.py:561 common/setting/system.py:581 +#: common/setting/system.py:678 common/setting/system.py:1068 msgid "days" msgstr "天" @@ -2417,8 +2437,8 @@ msgstr "複製類別參數模板" msgid "Copy category parameter templates when creating a part" msgstr "創建零件時複製類別參數模板" -#: common/setting/system.py:423 part/models.py:4035 report/models.py:357 -#: report/models.py:563 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 +#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 #: stock/serializers.py:247 msgid "Template" msgstr "模板" @@ -2431,8 +2451,8 @@ msgstr "零件默認為模板" msgid "Parts can be assembled from other components by default" msgstr "默認情況下,元件可由其他零件組裝而成" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1677 -#: part/serializers.py:1683 +#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1714 +#: part/serializers.py:1720 msgid "Component" msgstr "組件" @@ -2469,352 +2489,352 @@ msgid "Parts are virtual by default" msgstr "默認情況下,零件是虛擬的" #: common/setting/system.py:465 -msgid "Show Import in Views" -msgstr "在視圖中顯示導入" - -#: common/setting/system.py:466 -msgid "Display the import wizard in some part views" -msgstr "在某些零件視圖中顯示導入嚮導" - -#: common/setting/system.py:471 msgid "Show related parts" msgstr "顯示相關零件" -#: common/setting/system.py:472 +#: common/setting/system.py:466 msgid "Display related parts for a part" msgstr "顯示零件的相關零件" -#: common/setting/system.py:477 +#: common/setting/system.py:471 msgid "Initial Stock Data" msgstr "初始庫存數據" -#: common/setting/system.py:478 +#: common/setting/system.py:472 msgid "Allow creation of initial stock when adding a new part" msgstr "允許在添加新零件時創建初始庫存" -#: common/setting/system.py:483 +#: common/setting/system.py:477 msgid "Initial Supplier Data" msgstr "初始供應商數據" -#: common/setting/system.py:485 +#: common/setting/system.py:479 msgid "Allow creation of initial supplier data when adding a new part" msgstr "允許在添加新零件時創建初始供應商數據" -#: common/setting/system.py:491 +#: common/setting/system.py:485 msgid "Part Name Display Format" msgstr "零件名稱顯示格式" -#: common/setting/system.py:492 +#: common/setting/system.py:486 msgid "Format to display the part name" msgstr "顯示零件名稱的格式" -#: common/setting/system.py:498 +#: common/setting/system.py:492 msgid "Part Category Default Icon" msgstr "零件類別默認圖標" -#: common/setting/system.py:499 +#: common/setting/system.py:493 msgid "Part category default icon (empty means no icon)" msgstr "零件類別默認圖標 (空表示沒有圖標)" -#: common/setting/system.py:504 +#: common/setting/system.py:498 msgid "Enforce Parameter Units" msgstr "強制參數單位" -#: common/setting/system.py:506 +#: common/setting/system.py:500 msgid "If units are provided, parameter values must match the specified units" msgstr "如果提供了單位,參數值必須與指定的單位匹配" -#: common/setting/system.py:512 +#: common/setting/system.py:506 msgid "Minimum Pricing Decimal Places" msgstr "最小定價小數位數" -#: common/setting/system.py:514 +#: common/setting/system.py:508 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "呈現定價數據時顯示的最小小數位數" -#: common/setting/system.py:525 +#: common/setting/system.py:519 msgid "Maximum Pricing Decimal Places" msgstr "最大定價小數位數" -#: common/setting/system.py:527 +#: common/setting/system.py:521 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "呈現定價數據時顯示的最大小數位數" -#: common/setting/system.py:538 +#: common/setting/system.py:532 msgid "Use Supplier Pricing" msgstr "使用供應商定價" -#: common/setting/system.py:540 +#: common/setting/system.py:534 msgid "Include supplier price breaks in overall pricing calculations" msgstr "將供應商的價批發價納入總體定價計算中" -#: common/setting/system.py:546 +#: common/setting/system.py:540 msgid "Purchase History Override" msgstr "購買歷史記錄覆蓋" -#: common/setting/system.py:548 +#: common/setting/system.py:542 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "歷史採購訂單定價優先於供應商批發價" -#: common/setting/system.py:554 +#: common/setting/system.py:548 msgid "Use Stock Item Pricing" msgstr "使用庫存項定價" -#: common/setting/system.py:556 +#: common/setting/system.py:550 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "使用手動輸入的庫存數據進行定價計算" -#: common/setting/system.py:562 +#: common/setting/system.py:556 msgid "Stock Item Pricing Age" msgstr "庫存項目定價時間" -#: common/setting/system.py:564 +#: common/setting/system.py:558 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "從定價計算中排除超過此天數的庫存項目" -#: common/setting/system.py:571 +#: common/setting/system.py:565 msgid "Use Variant Pricing" msgstr "使用變體定價" -#: common/setting/system.py:572 +#: common/setting/system.py:566 msgid "Include variant pricing in overall pricing calculations" msgstr "在整體定價計算中包括變體定價" -#: common/setting/system.py:577 +#: common/setting/system.py:571 msgid "Active Variants Only" msgstr "僅限活躍變體" -#: common/setting/system.py:579 +#: common/setting/system.py:573 msgid "Only use active variant parts for calculating variant pricing" msgstr "僅使用活躍變體零件計算變體價格" -#: common/setting/system.py:585 +#: common/setting/system.py:579 msgid "Pricing Rebuild Interval" msgstr "價格重建間隔" -#: common/setting/system.py:586 +#: common/setting/system.py:580 msgid "Number of days before part pricing is automatically updated" msgstr "零件價格自動更新前的天數" -#: common/setting/system.py:592 +#: common/setting/system.py:586 msgid "Internal Prices" msgstr "內部價格" -#: common/setting/system.py:593 +#: common/setting/system.py:587 msgid "Enable internal prices for parts" msgstr "啓用內部零件價格" -#: common/setting/system.py:598 +#: common/setting/system.py:592 msgid "Internal Price Override" msgstr "覆蓋內部價格" -#: common/setting/system.py:600 +#: common/setting/system.py:594 msgid "If available, internal prices override price range calculations" msgstr "如果有內部價格,內部價格將覆蓋價格範圍計算" -#: common/setting/system.py:606 +#: common/setting/system.py:600 msgid "Enable label printing" msgstr "啓用標籤打印功能" -#: common/setting/system.py:607 +#: common/setting/system.py:601 msgid "Enable label printing from the web interface" msgstr "啓用從網絡界面打印標籤" -#: common/setting/system.py:612 +#: common/setting/system.py:606 msgid "Label Image DPI" msgstr "標籤圖片 DPI" -#: common/setting/system.py:614 +#: common/setting/system.py:608 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "生成圖像文件以供標籤打印插件使用時的 DPI 分辨率" -#: common/setting/system.py:620 +#: common/setting/system.py:614 msgid "Enable Reports" msgstr "啓用報告" -#: common/setting/system.py:621 +#: common/setting/system.py:615 msgid "Enable generation of reports" msgstr "啓用報告生成" -#: common/setting/system.py:626 +#: common/setting/system.py:620 msgid "Debug Mode" msgstr "調試模式" -#: common/setting/system.py:627 +#: common/setting/system.py:621 msgid "Generate reports in debug mode (HTML output)" msgstr "以調試模式生成報告(HTML 輸出)" -#: common/setting/system.py:632 +#: common/setting/system.py:626 msgid "Log Report Errors" msgstr "日誌錯誤報告" -#: common/setting/system.py:633 +#: common/setting/system.py:627 msgid "Log errors which occur when generating reports" msgstr "記錄生成報告時出現的錯誤" -#: common/setting/system.py:638 plugin/builtin/labels/label_sheet.py:29 +#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 #: report/models.py:365 msgid "Page Size" msgstr "頁面大小" -#: common/setting/system.py:639 +#: common/setting/system.py:633 msgid "Default page size for PDF reports" msgstr "PDF 報告默認頁面大小" -#: common/setting/system.py:644 +#: common/setting/system.py:638 msgid "Globally Unique Serials" msgstr "全局唯一序列號" -#: common/setting/system.py:645 +#: common/setting/system.py:639 msgid "Serial numbers for stock items must be globally unique" msgstr "庫存項的序列號必須全局唯一" -#: common/setting/system.py:650 +#: common/setting/system.py:644 msgid "Autofill Serial Numbers" msgstr "自動填充序列號" -#: common/setting/system.py:651 +#: common/setting/system.py:645 msgid "Autofill serial numbers in forms" msgstr "在表格中自動填充序列號" -#: common/setting/system.py:656 +#: common/setting/system.py:650 msgid "Delete Depleted Stock" msgstr "刪除已耗盡的庫存" -#: common/setting/system.py:657 +#: common/setting/system.py:651 msgid "Determines default behavior when a stock item is depleted" msgstr "設置庫存耗盡時的默認行為" -#: common/setting/system.py:662 +#: common/setting/system.py:656 msgid "Batch Code Template" msgstr "批號模板" -#: common/setting/system.py:663 +#: common/setting/system.py:657 msgid "Template for generating default batch codes for stock items" msgstr "為庫存項生成默認批號的模板" -#: common/setting/system.py:667 +#: common/setting/system.py:661 msgid "Stock Expiry" msgstr "庫存過期" -#: common/setting/system.py:668 +#: common/setting/system.py:662 msgid "Enable stock expiry functionality" msgstr "啓用庫存過期功能" -#: common/setting/system.py:673 +#: common/setting/system.py:667 msgid "Sell Expired Stock" msgstr "銷售過期庫存" -#: common/setting/system.py:674 +#: common/setting/system.py:668 msgid "Allow sale of expired stock" msgstr "允許銷售過期庫存" -#: common/setting/system.py:679 +#: common/setting/system.py:673 msgid "Stock Stale Time" msgstr "庫存過期時間" -#: common/setting/system.py:681 +#: common/setting/system.py:675 msgid "Number of days stock items are considered stale before expiring" msgstr "庫存項在到期前被視為過期的天數" -#: common/setting/system.py:688 +#: common/setting/system.py:682 msgid "Build Expired Stock" msgstr "生產過期庫存" -#: common/setting/system.py:689 +#: common/setting/system.py:683 msgid "Allow building with expired stock" msgstr "允許用過期的庫存生產" -#: common/setting/system.py:694 +#: common/setting/system.py:688 msgid "Stock Ownership Control" msgstr "庫存所有權控制" -#: common/setting/system.py:695 +#: common/setting/system.py:689 msgid "Enable ownership control over stock locations and items" msgstr "啓用庫存地點和項目的所有權控制" -#: common/setting/system.py:700 +#: common/setting/system.py:694 msgid "Stock Location Default Icon" msgstr "庫存地點默認圖標" -#: common/setting/system.py:701 +#: common/setting/system.py:695 msgid "Stock location default icon (empty means no icon)" msgstr "庫存地點默認圖標 (空表示沒有圖標)" -#: common/setting/system.py:706 +#: common/setting/system.py:700 msgid "Show Installed Stock Items" msgstr "顯示已安裝的庫存項" -#: common/setting/system.py:707 +#: common/setting/system.py:701 msgid "Display installed stock items in stock tables" msgstr "在庫存表中顯示已安裝的庫存項" -#: common/setting/system.py:712 +#: common/setting/system.py:706 msgid "Check BOM when installing items" msgstr "在安裝項目時檢查物料清單" -#: common/setting/system.py:714 +#: common/setting/system.py:708 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "已安裝的庫存項目必須存在於上級零件的物料清單中" -#: common/setting/system.py:720 +#: common/setting/system.py:714 msgid "Allow Out of Stock Transfer" msgstr "允許超出庫存轉移" -#: common/setting/system.py:722 +#: common/setting/system.py:716 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "允許非庫存的庫存項目在庫存位置之間轉移" -#: common/setting/system.py:728 +#: common/setting/system.py:722 msgid "Build Order Reference Pattern" msgstr "生產訂單參考模式" -#: common/setting/system.py:729 +#: common/setting/system.py:723 msgid "Required pattern for generating Build Order reference field" msgstr "生成生產訂單參考字段所需的模式" -#: common/setting/system.py:734 common/setting/system.py:788 +#: common/setting/system.py:728 common/setting/system.py:788 #: common/setting/system.py:808 common/setting/system.py:844 msgid "Require Responsible Owner" msgstr "要求負責人" -#: common/setting/system.py:735 common/setting/system.py:789 +#: common/setting/system.py:729 common/setting/system.py:789 #: common/setting/system.py:809 common/setting/system.py:845 msgid "A responsible owner must be assigned to each order" msgstr "必須為每個訂單分配一個負責人" -#: common/setting/system.py:740 +#: common/setting/system.py:734 msgid "Require Active Part" msgstr "需要活動零件" -#: common/setting/system.py:741 +#: common/setting/system.py:735 msgid "Prevent build order creation for inactive parts" msgstr "防止為非活動零件創建生產訂單" -#: common/setting/system.py:746 +#: common/setting/system.py:740 msgid "Require Locked Part" msgstr "需要鎖定零件" -#: common/setting/system.py:747 +#: common/setting/system.py:741 msgid "Prevent build order creation for unlocked parts" msgstr "防止為未鎖定的零件創建生產訂單" -#: common/setting/system.py:752 +#: common/setting/system.py:746 msgid "Require Valid BOM" msgstr "需要有效的物料清單" -#: common/setting/system.py:753 +#: common/setting/system.py:747 msgid "Prevent build order creation unless BOM has been validated" msgstr "除非物料清單已驗證,否則禁止創建生產訂單" -#: common/setting/system.py:758 +#: common/setting/system.py:752 msgid "Require Closed Child Orders" msgstr "需要關閉子訂單" -#: common/setting/system.py:760 +#: common/setting/system.py:754 msgid "Prevent build order completion until all child orders are closed" msgstr "在所有子訂單關閉之前,阻止生產訂單的完成" +#: common/setting/system.py:760 +msgid "External Build Orders" +msgstr "" + +#: common/setting/system.py:761 +msgid "Enable external build order functionality" +msgstr "" + #: common/setting/system.py:766 msgid "Block Until Tests Pass" msgstr "阻止直到測試通過" @@ -3416,34 +3436,26 @@ msgid "Display part stocktake information (if stocktake functionality is enabled msgstr "顯示零件盤點信息 (如果啓用了盤點功能)" #: common/setting/user.py:229 -msgid "Table String Length" -msgstr "表字符串長度" - -#: common/setting/user.py:230 -msgid "Maximum length limit for strings displayed in table views" -msgstr "表視圖中顯示的字符串的最大長度限制" - -#: common/setting/user.py:235 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Receive error reports" msgstr "接收錯誤報告" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Receive notifications for system errors" msgstr "接收系統錯誤通知" -#: common/setting/user.py:247 +#: common/setting/user.py:241 msgid "Last used printing machines" msgstr "上次使用的打印設備" -#: common/setting/user.py:248 +#: common/setting/user.py:242 msgid "Save the last used printing machines for a user" msgstr "為用户保存上次使用的打印設備" @@ -3501,7 +3513,7 @@ msgid "Supplier is Active" msgstr "供應商已激活" #: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:577 +#: part/serializers.py:590 msgid "Manufacturer" msgstr "製造商" @@ -3546,8 +3558,8 @@ msgstr "聯繫電話" msgid "Contact email address" msgstr "聯繫人電子郵箱地址" -#: company/models.py:142 company/models.py:274 order/models.py:500 -#: users/models.py:563 +#: company/models.py:142 company/models.py:274 order/models.py:501 +#: users/models.py:567 msgid "Contact" msgstr "聯繫人" @@ -3591,7 +3603,7 @@ msgstr "這家公司生產零件嗎?" msgid "Default currency used for this company" msgstr "此公司使用的默認貨幣" -#: company/models.py:313 order/models.py:510 +#: company/models.py:313 order/models.py:511 msgid "Address" msgstr "地址" @@ -3701,8 +3713,8 @@ msgstr "選擇零件" msgid "Select manufacturer" msgstr "選擇製造商" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:665 -#: part/serializers.py:587 +#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:600 msgid "MPN" msgstr "製造商零件編號" @@ -3730,7 +3742,7 @@ msgstr "參數名稱" msgid "Parameter value" msgstr "參數值" -#: company/models.py:608 part/models.py:1204 part/models.py:3844 +#: company/models.py:608 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "單位" @@ -3751,7 +3763,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "鏈接的製造商零件必須引用相同的基礎零件" #: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:626 part/serializers.py:561 +#: order/models.py:627 part/serializers.py:574 #: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 #: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 #: stock/api.py:516 templates/email/overdue_purchase_order.html:16 @@ -3762,7 +3774,7 @@ msgstr "供應商" msgid "Select supplier" msgstr "選擇供應商" -#: company/models.py:794 part/serializers.py:572 +#: company/models.py:794 part/serializers.py:585 msgid "Supplier stock keeping unit" msgstr "供應商庫存管理單位" @@ -3782,8 +3794,8 @@ msgstr "外部供應商零件鏈接的URL" msgid "Supplier part description" msgstr "供應商零件説明" -#: company/models.py:833 order/serializers.py:819 order/serializers.py:2027 -#: part/models.py:4356 part/models.py:4697 +#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 @@ -3793,15 +3805,15 @@ msgstr "供應商零件説明" msgid "Note" msgstr "備註" -#: company/models.py:842 part/models.py:2182 +#: company/models.py:842 part/models.py:2200 msgid "base cost" msgstr "基本費用" -#: company/models.py:843 part/models.py:2183 +#: company/models.py:843 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低費用(例如庫存費)" -#: company/models.py:850 order/serializers.py:811 stock/models.py:979 +#: company/models.py:850 order/serializers.py:818 stock/models.py:979 #: stock/serializers.py:1666 msgid "Packaging" msgstr "打包" @@ -3818,7 +3830,7 @@ msgstr "包裝數量" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "單包供應的總數量。為單個項目留空。" -#: company/models.py:877 part/models.py:2189 +#: company/models.py:877 part/models.py:2207 msgid "multiple" msgstr "多個" @@ -3854,15 +3866,15 @@ msgstr "此供應商使用的默認貨幣" msgid "Company Name" msgstr "公司名稱" -#: company/serializers.py:420 part/serializers.py:940 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 msgid "In Stock" msgstr "有庫存" -#: data_exporter/mixins.py:324 data_exporter/mixins.py:393 +#: data_exporter/mixins.py:324 data_exporter/mixins.py:391 msgid "Error occurred during data export" msgstr "" -#: data_exporter/mixins.py:375 +#: data_exporter/mixins.py:373 msgid "Data export plugin returned incorrect data format" msgstr "" @@ -4098,7 +4110,7 @@ msgstr "每個標籤要打印的份數" msgid "Connected" msgstr "已連接" -#: machine/machine_types/label_printer.py:229 order/api.py:1679 +#: machine/machine_types/label_printer.py:229 order/api.py:1696 msgid "Unknown" msgstr "未知" @@ -4186,101 +4198,105 @@ msgstr "設備配置" msgid "Config type" msgstr "配置類型" -#: order/api.py:118 +#: order/api.py:119 msgid "Order Reference" msgstr "訂單參考" -#: order/api.py:146 order/api.py:1139 +#: order/api.py:147 order/api.py:1156 msgid "Outstanding" msgstr "未完成" -#: order/api.py:162 +#: order/api.py:163 msgid "Has Project Code" msgstr "有項目編碼" -#: order/api.py:176 order/models.py:475 +#: order/api.py:177 order/models.py:476 msgid "Created By" msgstr "創建人" -#: order/api.py:180 +#: order/api.py:181 msgid "Created Before" msgstr "" -#: order/api.py:184 +#: order/api.py:185 msgid "Created After" msgstr "" -#: order/api.py:188 +#: order/api.py:189 msgid "Has Start Date" msgstr "" -#: order/api.py:196 +#: order/api.py:197 msgid "Start Date Before" msgstr "" -#: order/api.py:200 +#: order/api.py:201 msgid "Start Date After" msgstr "" -#: order/api.py:204 +#: order/api.py:205 msgid "Has Target Date" msgstr "" -#: order/api.py:212 +#: order/api.py:213 msgid "Target Date Before" msgstr "" -#: order/api.py:216 +#: order/api.py:217 msgid "Target Date After" msgstr "" -#: order/api.py:267 +#: order/api.py:268 msgid "Has Pricing" msgstr "有定價" -#: order/api.py:320 order/api.py:774 order/api.py:1375 +#: order/api.py:321 order/api.py:791 order/api.py:1392 msgid "Completed Before" msgstr "" -#: order/api.py:324 order/api.py:778 order/api.py:1379 +#: order/api.py:325 order/api.py:795 order/api.py:1396 msgid "Completed After" msgstr "" -#: order/api.py:491 order/api.py:876 order/api.py:1102 order/models.py:1685 -#: order/models.py:1803 order/models.py:1854 order/models.py:2002 -#: order/models.py:2168 order/models.py:2690 order/models.py:2756 +#: order/api.py:331 order/api.py:335 +msgid "External Build Order" +msgstr "" + +#: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 +#: order/models.py:1880 order/models.py:1931 order/models.py:2085 +#: order/models.py:2251 order/models.py:2773 order/models.py:2839 msgid "Order" msgstr "訂單" -#: order/api.py:495 order/api.py:914 +#: order/api.py:512 order/api.py:931 msgid "Order Complete" msgstr "訂單完成" -#: order/api.py:527 order/api.py:531 order/serializers.py:676 +#: order/api.py:544 order/api.py:548 order/serializers.py:683 msgid "Internal Part" msgstr "內部零件" -#: order/api.py:549 +#: order/api.py:566 msgid "Order Pending" msgstr "訂單待定" -#: order/api.py:899 +#: order/api.py:916 msgid "Completed" msgstr "已完成" -#: order/api.py:1155 +#: order/api.py:1172 msgid "Has Shipment" msgstr "" -#: order/api.py:1673 order/models.py:539 order/models.py:1686 -#: order/models.py:1804 +#: order/api.py:1690 order/models.py:540 order/models.py:1752 +#: order/models.py:1881 #: report/templates/report/inventree_purchase_order_report.html:14 #: stock/serializers.py:128 templates/email/overdue_purchase_order.html:15 msgid "Purchase Order" msgstr "採購訂單" -#: order/api.py:1675 order/models.py:1080 order/models.py:1855 -#: order/models.py:2003 order/models.py:2169 +#: order/api.py:1692 order/models.py:1122 order/models.py:1932 +#: order/models.py:2086 order/models.py:2252 #: 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 @@ -4288,710 +4304,726 @@ msgstr "採購訂單" msgid "Sales Order" msgstr "銷售訂單" -#: order/api.py:1677 order/models.py:2340 order/models.py:2691 -#: order/models.py:2757 +#: order/api.py:1694 order/models.py:2423 order/models.py:2774 +#: order/models.py:2840 #: report/templates/report/inventree_return_order_report.html:13 #: templates/email/overdue_return_order.html:15 msgid "Return Order" msgstr "退貨訂單" -#: order/models.py:89 +#: order/models.py:90 #: report/templates/report/inventree_purchase_order_report.html:31 #: report/templates/report/inventree_sales_order_report.html:31 msgid "Total Price" msgstr "總價格" -#: order/models.py:90 +#: order/models.py:91 msgid "Total price for this order" msgstr "此訂單的總價" -#: order/models.py:95 order/serializers.py:75 +#: order/models.py:96 order/serializers.py:76 msgid "Order Currency" msgstr "訂單貨幣" -#: order/models.py:98 order/serializers.py:76 +#: order/models.py:99 order/serializers.py:77 msgid "Currency for this order (leave blank to use company default)" msgstr "此訂單的貨幣 (留空以使用公司默認值)" -#: order/models.py:323 +#: order/models.py:324 msgid "This order is locked and cannot be modified" msgstr "" -#: order/models.py:370 +#: order/models.py:371 msgid "Contact does not match selected company" msgstr "聯繫人與所選公司不匹配" -#: order/models.py:377 +#: order/models.py:378 msgid "Start date must be before target date" msgstr "" -#: order/models.py:430 +#: order/models.py:431 msgid "Order description (optional)" msgstr "訂單描述 (可選)" -#: order/models.py:439 +#: order/models.py:440 msgid "Select project code for this order" msgstr "為此訂單選擇項目編碼" -#: order/models.py:445 order/models.py:1586 order/models.py:2057 +#: order/models.py:446 order/models.py:1628 order/models.py:2140 msgid "Link to external page" msgstr "鏈接到外部頁面" -#: order/models.py:452 +#: order/models.py:453 msgid "Start date" msgstr "" -#: order/models.py:453 +#: order/models.py:454 msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:459 order/models.py:1593 order/serializers.py:269 +#: order/models.py:460 order/models.py:1635 order/serializers.py:270 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "預計日期" -#: order/models.py:461 +#: order/models.py:462 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "訂單交付的預期日期。訂單將在此日期後過期。" -#: order/models.py:481 +#: order/models.py:482 msgid "Issue Date" msgstr "簽發日期" -#: order/models.py:482 +#: order/models.py:483 msgid "Date order was issued" msgstr "訂單發出日期" -#: order/models.py:490 +#: order/models.py:491 msgid "User or group responsible for this order" msgstr "負責此訂單的用户或組" -#: order/models.py:501 +#: order/models.py:502 msgid "Point of contact for this order" msgstr "此訂單的聯繫人" -#: order/models.py:511 +#: order/models.py:512 msgid "Company address for this order" msgstr "此訂單的公司地址" -#: order/models.py:602 order/models.py:1141 +#: order/models.py:603 order/models.py:1183 msgid "Order reference" msgstr "訂單參考" -#: order/models.py:611 order/models.py:1165 order/models.py:2428 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:544 +#: order/models.py:612 order/models.py:1207 order/models.py:2511 +#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 msgid "Status" msgstr "狀態" -#: order/models.py:612 +#: order/models.py:613 msgid "Purchase order status" msgstr "採購訂單狀態" -#: order/models.py:627 +#: order/models.py:628 msgid "Company from which the items are being ordered" msgstr "訂購物品的公司" -#: order/models.py:638 +#: order/models.py:639 msgid "Supplier Reference" msgstr "供應商參考" -#: order/models.py:639 +#: order/models.py:640 msgid "Supplier order reference code" msgstr "供應商訂單參考代碼" -#: order/models.py:648 +#: order/models.py:649 msgid "received by" msgstr "接收人" -#: order/models.py:655 order/models.py:2443 +#: order/models.py:656 order/models.py:2526 msgid "Date order was completed" msgstr "訂單完成日期" -#: order/models.py:664 order/models.py:1733 +#: order/models.py:665 order/models.py:1810 msgid "Destination" msgstr "目的地" -#: order/models.py:665 order/models.py:1737 +#: order/models.py:666 order/models.py:1814 msgid "Destination for received items" msgstr "" -#: order/models.py:711 +#: order/models.py:712 msgid "Part supplier must match PO supplier" msgstr "零件供應商必須與採購訂單供應商匹配" -#: order/models.py:971 +#: order/models.py:972 msgid "Quantity must be a positive number" msgstr "數量必須是正數" -#: order/models.py:1152 order/models.py:2415 stock/models.py:1001 +#: order/models.py:1194 order/models.py:2498 stock/models.py:1001 #: stock/models.py:1002 stock/serializers.py:1405 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" msgstr "客户" -#: order/models.py:1153 +#: order/models.py:1195 msgid "Company to which the items are being sold" msgstr "出售物品的公司" -#: order/models.py:1166 +#: order/models.py:1208 msgid "Sales order status" msgstr "銷售訂單狀態" -#: order/models.py:1177 order/models.py:2435 +#: order/models.py:1219 order/models.py:2518 msgid "Customer Reference " msgstr "客户參考 " -#: order/models.py:1178 order/models.py:2436 +#: order/models.py:1220 order/models.py:2519 msgid "Customer order reference code" msgstr "客户訂單參考代碼" -#: order/models.py:1182 order/models.py:2009 +#: order/models.py:1224 order/models.py:2092 msgid "Shipment Date" msgstr "發貨日期" -#: order/models.py:1191 +#: order/models.py:1233 msgid "shipped by" msgstr "發貨人" -#: order/models.py:1230 +#: order/models.py:1272 msgid "Order is already complete" msgstr "訂單已完成" -#: order/models.py:1233 +#: order/models.py:1275 msgid "Order is already cancelled" msgstr "訂單已取消" -#: order/models.py:1237 +#: order/models.py:1279 msgid "Only an open order can be marked as complete" msgstr "只有未結訂單才能標記為已完成" -#: order/models.py:1241 +#: order/models.py:1283 msgid "Order cannot be completed as there are incomplete shipments" msgstr "由於發貨不完整,訂單無法完成" -#: order/models.py:1246 +#: order/models.py:1288 msgid "Order cannot be completed as there are incomplete allocations" msgstr "" -#: order/models.py:1251 +#: order/models.py:1293 msgid "Order cannot be completed as there are incomplete line items" msgstr "訂單無法完成,因為行項目不完整" -#: order/models.py:1535 order/models.py:1548 +#: order/models.py:1577 order/models.py:1590 msgid "The order is locked and cannot be modified" msgstr "" -#: order/models.py:1556 +#: order/models.py:1598 msgid "Item quantity" msgstr "項目數量" -#: order/models.py:1573 +#: order/models.py:1615 msgid "Line item reference" msgstr "行項目參考" -#: order/models.py:1580 +#: order/models.py:1622 msgid "Line item notes" msgstr "行項目註釋" -#: order/models.py:1595 +#: order/models.py:1637 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "此行項目的目標日期 (留空以使用訂單中的目標日期)" -#: order/models.py:1616 +#: order/models.py:1658 msgid "Line item description (optional)" msgstr "行項目描述 (可選)" -#: order/models.py:1623 +#: order/models.py:1665 msgid "Additional context for this line" msgstr "此行的附加上下文" -#: order/models.py:1633 +#: order/models.py:1675 msgid "Unit price" msgstr "單位價格" -#: order/models.py:1647 +#: order/models.py:1694 msgid "Purchase Order Line Item" msgstr "採購訂單行項目" -#: order/models.py:1671 +#: order/models.py:1718 msgid "Supplier part must match supplier" msgstr "供應商零件必須與供應商匹配" -#: order/models.py:1705 +#: order/models.py:1723 +msgid "Build order must be marked as external" +msgstr "" + +#: order/models.py:1730 +msgid "Build orders can only be linked to assembly parts" +msgstr "" + +#: order/models.py:1736 +msgid "Build order part must match line item part" +msgstr "" + +#: order/models.py:1771 msgid "Supplier part" msgstr "供應商零件" -#: order/models.py:1712 +#: order/models.py:1778 msgid "Received" msgstr "已接收" -#: order/models.py:1713 +#: order/models.py:1779 msgid "Number of items received" msgstr "收到的物品數量" -#: order/models.py:1721 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 msgid "Purchase Price" msgstr "採購價格" -#: order/models.py:1722 +#: order/models.py:1788 msgid "Unit purchase price" msgstr "每單位的採購價格" -#: order/models.py:1792 +#: order/models.py:1804 +msgid "External Build Order to be fulfilled by this line item" +msgstr "" + +#: order/models.py:1869 msgid "Purchase Order Extra Line" msgstr "採購訂單附加行" -#: order/models.py:1821 +#: order/models.py:1898 msgid "Sales Order Line Item" msgstr "銷售訂單行項目" -#: order/models.py:1842 +#: order/models.py:1919 msgid "Virtual part cannot be assigned to a sales order" msgstr "虛擬零件不能分配給銷售訂單" -#: order/models.py:1847 +#: order/models.py:1924 msgid "Only salable parts can be assigned to a sales order" msgstr "只有可銷售的零件才能分配給銷售訂單" -#: order/models.py:1873 +#: order/models.py:1950 msgid "Sale Price" msgstr "售出價格" -#: order/models.py:1874 +#: order/models.py:1951 msgid "Unit sale price" msgstr "單位售出價格" -#: order/models.py:1883 order/status_codes.py:50 +#: order/models.py:1960 order/status_codes.py:50 msgid "Shipped" msgstr "已配送" -#: order/models.py:1884 +#: order/models.py:1961 msgid "Shipped quantity" msgstr "發貨數量" -#: order/models.py:1978 +#: order/models.py:2061 msgid "Sales Order Shipment" msgstr "銷售訂單發貨" -#: order/models.py:2010 +#: order/models.py:2093 msgid "Date of shipment" msgstr "發貨日期" -#: order/models.py:2016 +#: order/models.py:2099 msgid "Delivery Date" msgstr "送達日期" -#: order/models.py:2017 +#: order/models.py:2100 msgid "Date of delivery of shipment" msgstr "裝運交貨日期" -#: order/models.py:2025 +#: order/models.py:2108 msgid "Checked By" msgstr "審核人" -#: order/models.py:2026 +#: order/models.py:2109 msgid "User who checked this shipment" msgstr "檢查此裝運的用户" -#: order/models.py:2033 order/models.py:2265 order/serializers.py:1685 -#: order/serializers.py:1809 +#: order/models.py:2116 order/models.py:2348 order/serializers.py:1693 +#: order/serializers.py:1817 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "配送" -#: order/models.py:2034 +#: order/models.py:2117 msgid "Shipment number" msgstr "配送單號" -#: order/models.py:2042 +#: order/models.py:2125 msgid "Tracking Number" msgstr "跟蹤單號" -#: order/models.py:2043 +#: order/models.py:2126 msgid "Shipment tracking information" msgstr "配送跟蹤信息" -#: order/models.py:2050 +#: order/models.py:2133 msgid "Invoice Number" msgstr "發票編號" -#: order/models.py:2051 +#: order/models.py:2134 msgid "Reference number for associated invoice" msgstr "相關發票的參考號" -#: order/models.py:2074 +#: order/models.py:2157 msgid "Shipment has already been sent" msgstr "貨物已發出" -#: order/models.py:2077 +#: order/models.py:2160 msgid "Shipment has no allocated stock items" msgstr "發貨沒有分配庫存項目" -#: order/models.py:2157 +#: order/models.py:2240 msgid "Sales Order Extra Line" msgstr "銷售訂單加行" -#: order/models.py:2186 +#: order/models.py:2269 msgid "Sales Order Allocation" msgstr "銷售訂單分配" -#: order/models.py:2209 order/models.py:2211 +#: order/models.py:2292 order/models.py:2294 msgid "Stock item has not been assigned" msgstr "庫存項目尚未分配" -#: order/models.py:2218 +#: order/models.py:2301 msgid "Cannot allocate stock item to a line with a different part" msgstr "無法將庫存項目分配給具有不同零件的行" -#: order/models.py:2221 +#: order/models.py:2304 msgid "Cannot allocate stock to a line without a part" msgstr "無法將庫存分配給沒有零件的生產線" -#: order/models.py:2224 +#: order/models.py:2307 msgid "Allocation quantity cannot exceed stock quantity" msgstr "分配數量不能超過庫存數量" -#: order/models.py:2243 order/serializers.py:1555 +#: order/models.py:2326 order/serializers.py:1563 msgid "Quantity must be 1 for serialized stock item" msgstr "序列化庫存項目的數量必須為1" -#: order/models.py:2246 +#: order/models.py:2329 msgid "Sales order does not match shipment" msgstr "銷售訂單與發貨不匹配" -#: order/models.py:2247 plugin/base/barcodes/api.py:642 +#: order/models.py:2330 plugin/base/barcodes/api.py:642 msgid "Shipment does not match sales order" msgstr "發貨與銷售訂單不匹配" -#: order/models.py:2255 +#: order/models.py:2338 msgid "Line" msgstr "行" -#: order/models.py:2266 +#: order/models.py:2349 msgid "Sales order shipment reference" msgstr "銷售訂單發貨參考" -#: order/models.py:2279 order/models.py:2698 +#: order/models.py:2362 order/models.py:2781 msgid "Item" msgstr "項目" -#: order/models.py:2280 +#: order/models.py:2363 msgid "Select stock item to allocate" msgstr "選擇要分配的庫存項目" -#: order/models.py:2289 +#: order/models.py:2372 msgid "Enter stock allocation quantity" msgstr "輸入庫存分配數量" -#: order/models.py:2404 +#: order/models.py:2487 msgid "Return Order reference" msgstr "退貨訂單參考" -#: order/models.py:2416 +#: order/models.py:2499 msgid "Company from which items are being returned" msgstr "退回物品的公司" -#: order/models.py:2429 +#: order/models.py:2512 msgid "Return order status" msgstr "退貨訂單狀態" -#: order/models.py:2656 +#: order/models.py:2739 msgid "Return Order Line Item" msgstr "退貨訂單行項目" -#: order/models.py:2669 +#: order/models.py:2752 msgid "Stock item must be specified" msgstr "" -#: order/models.py:2673 +#: order/models.py:2756 msgid "Return quantity exceeds stock quantity" msgstr "" -#: order/models.py:2678 +#: order/models.py:2761 msgid "Return quantity must be greater than zero" msgstr "" -#: order/models.py:2683 +#: order/models.py:2766 msgid "Invalid quantity for serialized stock item" msgstr "" -#: order/models.py:2699 +#: order/models.py:2782 msgid "Select item to return from customer" msgstr "選擇要從客户處退回的商品" -#: order/models.py:2714 +#: order/models.py:2797 msgid "Received Date" msgstr "接收日期" -#: order/models.py:2715 +#: order/models.py:2798 msgid "The date this this return item was received" msgstr "收到此退貨的日期" -#: order/models.py:2727 +#: order/models.py:2810 msgid "Outcome" msgstr "結果" -#: order/models.py:2728 +#: order/models.py:2811 msgid "Outcome for this line item" msgstr "該行項目的結果" -#: order/models.py:2735 +#: order/models.py:2818 msgid "Cost associated with return or repair for this line item" msgstr "與此行項目的退貨或維修相關的成本" -#: order/models.py:2745 +#: order/models.py:2828 msgid "Return Order Extra Line" msgstr "退貨訂單附加行" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "Order ID" msgstr "訂單ID" -#: order/serializers.py:89 +#: order/serializers.py:90 msgid "ID of the order to duplicate" msgstr "要複製的訂單ID" -#: order/serializers.py:95 +#: order/serializers.py:96 msgid "Copy Lines" msgstr "複製行" -#: order/serializers.py:96 +#: order/serializers.py:97 msgid "Copy line items from the original order" msgstr "從原始訂單複製行項目" -#: order/serializers.py:102 +#: order/serializers.py:103 msgid "Copy Extra Lines" msgstr "複製額外行" -#: order/serializers.py:103 +#: order/serializers.py:104 msgid "Copy extra line items from the original order" msgstr "從原始訂單複製額外的行項目" -#: order/serializers.py:116 +#: order/serializers.py:117 #: report/templates/report/inventree_purchase_order_report.html:22 #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" msgstr "行項目" -#: order/serializers.py:121 +#: order/serializers.py:122 msgid "Completed Lines" msgstr "已完成行項目" -#: order/serializers.py:172 +#: order/serializers.py:173 msgid "Duplicate Order" msgstr "複製訂單" -#: order/serializers.py:173 +#: order/serializers.py:174 msgid "Specify options for duplicating this order" msgstr "指定複製此訂單的選項" -#: order/serializers.py:249 +#: order/serializers.py:250 msgid "Invalid order ID" msgstr "訂單ID不正確" -#: order/serializers.py:388 +#: order/serializers.py:389 msgid "Supplier Name" msgstr "供應商名稱" -#: order/serializers.py:430 +#: order/serializers.py:431 msgid "Order cannot be cancelled" msgstr "訂單不能取消" -#: order/serializers.py:445 order/serializers.py:1576 +#: order/serializers.py:446 order/serializers.py:1584 msgid "Allow order to be closed with incomplete line items" msgstr "允許關閉行項目不完整的訂單" -#: order/serializers.py:455 order/serializers.py:1586 +#: order/serializers.py:456 order/serializers.py:1594 msgid "Order has incomplete line items" msgstr "訂單中的行項目不完整" -#: order/serializers.py:608 +#: order/serializers.py:611 msgid "Order is not open" msgstr "訂單未打開" -#: order/serializers.py:629 +#: order/serializers.py:632 msgid "Auto Pricing" msgstr "自動定價" -#: order/serializers.py:631 +#: order/serializers.py:634 msgid "Automatically calculate purchase price based on supplier part data" msgstr "根據供應商零件數據自動計算採購價格" -#: order/serializers.py:641 +#: order/serializers.py:644 msgid "Purchase price currency" msgstr "購買價格貨幣" -#: order/serializers.py:649 +#: order/serializers.py:656 msgid "Merge Items" msgstr "合併項目" -#: order/serializers.py:651 +#: order/serializers.py:658 msgid "Merge items with the same part, destination and target date into one line item" msgstr "將具有相同零件、目的地和目標日期的項目合併到一個行項目中" -#: order/serializers.py:658 part/serializers.py:571 +#: order/serializers.py:665 part/serializers.py:584 msgid "SKU" msgstr "庫存量單位" -#: order/serializers.py:672 part/models.py:1089 part/serializers.py:412 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 msgid "Internal Part Number" msgstr "內部零件編號" -#: order/serializers.py:680 +#: order/serializers.py:687 msgid "Internal Part Name" msgstr "內部零件名稱" -#: order/serializers.py:696 +#: order/serializers.py:703 msgid "Supplier part must be specified" msgstr "必須指定供應商零件" -#: order/serializers.py:699 +#: order/serializers.py:706 msgid "Purchase order must be specified" msgstr "必須指定採購訂單" -#: order/serializers.py:707 +#: order/serializers.py:714 msgid "Supplier must match purchase order" msgstr "供應商必須匹配採購訂單" -#: order/serializers.py:708 +#: order/serializers.py:715 msgid "Purchase order must match supplier" msgstr "採購訂單必須與供應商匹配" -#: order/serializers.py:754 order/serializers.py:1656 +#: order/serializers.py:761 order/serializers.py:1664 msgid "Line Item" msgstr "行項目" -#: order/serializers.py:760 +#: order/serializers.py:767 msgid "Line item does not match purchase order" msgstr "行項目與採購訂單不匹配" -#: order/serializers.py:770 order/serializers.py:917 order/serializers.py:2023 +#: order/serializers.py:777 order/serializers.py:924 order/serializers.py:2031 msgid "Select destination location for received items" msgstr "為收到的物品選擇目的地位置" -#: order/serializers.py:786 +#: order/serializers.py:793 msgid "Enter batch code for incoming stock items" msgstr "輸入入庫項目的批號" -#: order/serializers.py:793 stock/models.py:1083 users/models.py:143 +#: order/serializers.py:800 stock/models.py:1083 users/models.py:143 msgid "Expiry Date" msgstr "有效期至" -#: order/serializers.py:794 +#: order/serializers.py:801 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:802 +#: order/serializers.py:809 msgid "Enter serial numbers for incoming stock items" msgstr "輸入入庫庫存項目的序列號" -#: order/serializers.py:812 +#: order/serializers.py:819 msgid "Override packaging information for incoming stock items" msgstr "覆蓋傳入庫存項目的包裝資料" -#: order/serializers.py:820 order/serializers.py:2028 +#: order/serializers.py:827 order/serializers.py:2036 msgid "Additional note for incoming stock items" msgstr "傳入庫存項目的附加説明" -#: order/serializers.py:827 +#: order/serializers.py:834 msgid "Barcode" msgstr "條形碼" -#: order/serializers.py:828 +#: order/serializers.py:835 msgid "Scanned barcode" msgstr "掃描條形碼" -#: order/serializers.py:844 +#: order/serializers.py:851 msgid "Barcode is already in use" msgstr "條形碼已被使用" -#: order/serializers.py:867 +#: order/serializers.py:874 msgid "An integer quantity must be provided for trackable parts" msgstr "必須為可跟蹤零件提供整數數量" -#: order/serializers.py:934 order/serializers.py:2047 +#: order/serializers.py:941 order/serializers.py:2055 msgid "Line items must be provided" msgstr "必須提供行項目" -#: order/serializers.py:950 +#: order/serializers.py:957 msgid "Destination location must be specified" msgstr "必須指定目標位置" -#: order/serializers.py:961 +#: order/serializers.py:968 msgid "Supplied barcode values must be unique" msgstr "提供的條形碼值必須是唯一的" -#: order/serializers.py:1092 +#: order/serializers.py:1099 msgid "Shipments" msgstr "" -#: order/serializers.py:1096 +#: order/serializers.py:1103 msgid "Completed Shipments" msgstr "完成配送" -#: order/serializers.py:1283 +#: order/serializers.py:1290 msgid "Sale price currency" msgstr "售出價格貨幣" -#: order/serializers.py:1331 +#: order/serializers.py:1339 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1458 +#: order/serializers.py:1466 msgid "No shipment details provided" msgstr "未提供裝運詳細信息" -#: order/serializers.py:1519 order/serializers.py:1665 +#: order/serializers.py:1527 order/serializers.py:1673 msgid "Line item is not associated with this order" msgstr "行項目與此訂單不關聯" -#: order/serializers.py:1538 +#: order/serializers.py:1546 msgid "Quantity must be positive" msgstr "數量必須為正" -#: order/serializers.py:1675 +#: order/serializers.py:1683 msgid "Enter serial numbers to allocate" msgstr "輸入要分配的序列號" -#: order/serializers.py:1697 order/serializers.py:1817 +#: order/serializers.py:1705 order/serializers.py:1825 msgid "Shipment has already been shipped" msgstr "貨物已發出" -#: order/serializers.py:1700 order/serializers.py:1820 +#: order/serializers.py:1708 order/serializers.py:1828 msgid "Shipment is not associated with this order" msgstr "發貨與此訂單無關" -#: order/serializers.py:1755 +#: order/serializers.py:1763 msgid "No match found for the following serial numbers" msgstr "未找到以下序列號的匹配項" -#: order/serializers.py:1762 +#: order/serializers.py:1770 msgid "The following serial numbers are unavailable" msgstr "以下序列號不可用" -#: order/serializers.py:1989 +#: order/serializers.py:1997 msgid "Return order line item" msgstr "退貨訂單行項目" -#: order/serializers.py:1999 +#: order/serializers.py:2007 msgid "Line item does not match return order" msgstr "行項目與退貨訂單不匹配" -#: order/serializers.py:2002 +#: order/serializers.py:2010 msgid "Line item has already been received" msgstr "行項目已收到" -#: order/serializers.py:2039 +#: order/serializers.py:2047 msgid "Items can only be received against orders which are in progress" msgstr "只能根據正在進行的訂單接收物品" -#: order/serializers.py:2131 +#: order/serializers.py:2139 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2143 +#: order/serializers.py:2151 msgid "Line price currency" msgstr "行價格貨幣" @@ -5142,24 +5174,24 @@ msgstr "有修訂版本" msgid "BOM Valid" msgstr "物料清單合規" -#: part/api.py:1775 +#: part/api.py:1809 msgid "Assembly part is testable" msgstr "裝配部份是可測試的" -#: part/api.py:1784 +#: part/api.py:1818 msgid "Component part is testable" msgstr "組件部份是可測試的" -#: part/api.py:1835 +#: part/api.py:1869 msgid "Uses" msgstr "使用" -#: part/models.py:90 part/models.py:4137 +#: part/models.py:90 part/models.py:4190 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "零件類別" -#: part/models.py:91 users/ruleset.py:32 +#: part/models.py:91 users/ruleset.py:28 msgid "Part Categories" msgstr "零件類別" @@ -5191,7 +5223,7 @@ msgstr "此類別零件的默認關鍵字" msgid "Icon" msgstr "圖標" -#: part/models.py:135 part/serializers.py:152 part/serializers.py:171 +#: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 msgid "Icon (optional)" msgstr "圖標(可選)" @@ -5200,8 +5232,8 @@ msgstr "圖標(可選)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "您不能使這個零件類別結構化,因為有些零件已經分配給了它!" -#: part/models.py:458 part/serializers.py:130 part/serializers.py:343 -#: users/ruleset.py:33 +#: part/models.py:458 part/serializers.py:129 part/serializers.py:342 +#: users/ruleset.py:29 msgid "Parts" msgstr "零件" @@ -5316,7 +5348,7 @@ msgstr "提高搜索結果可見性的零件關鍵字" msgid "Part category" msgstr "零件類別" -#: part/models.py:1088 part/serializers.py:926 +#: part/models.py:1088 part/serializers.py:937 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "內部零件號 IPN" @@ -5357,7 +5389,7 @@ msgstr "默認到期" msgid "Expiry time (in days) for stock items of this part" msgstr "此零件庫存項的過期時間 (天)" -#: part/models.py:1195 part/serializers.py:977 +#: part/models.py:1195 part/serializers.py:1011 msgid "Minimum Stock" msgstr "最低庫存" @@ -5433,847 +5465,867 @@ msgstr "此零件的負責人" msgid "Last Stocktake" msgstr "最近庫存盤點" -#: part/models.py:2190 +#: part/models.py:2208 msgid "Sell multiple" msgstr "出售多個" -#: part/models.py:3185 +#: part/models.py:3235 msgid "Currency used to cache pricing calculations" msgstr "用於緩存定價計算的貨幣" -#: part/models.py:3201 +#: part/models.py:3251 msgid "Minimum BOM Cost" msgstr "最低物料清單成本" -#: part/models.py:3202 +#: part/models.py:3252 msgid "Minimum cost of component parts" msgstr "元件的最低成本" -#: part/models.py:3208 +#: part/models.py:3258 msgid "Maximum BOM Cost" msgstr "物料清單的最高成本" -#: part/models.py:3209 +#: part/models.py:3259 msgid "Maximum cost of component parts" msgstr "元件的最高成本" -#: part/models.py:3215 +#: part/models.py:3265 msgid "Minimum Purchase Cost" msgstr "最低購買成本" -#: part/models.py:3216 +#: part/models.py:3266 msgid "Minimum historical purchase cost" msgstr "最高歷史購買成本" -#: part/models.py:3222 +#: part/models.py:3272 msgid "Maximum Purchase Cost" msgstr "最大購買成本" -#: part/models.py:3223 +#: part/models.py:3273 msgid "Maximum historical purchase cost" msgstr "最高歷史購買成本" -#: part/models.py:3229 +#: part/models.py:3279 msgid "Minimum Internal Price" msgstr "最低內部價格" -#: part/models.py:3230 +#: part/models.py:3280 msgid "Minimum cost based on internal price breaks" msgstr "基於內部批發價的最低成本" -#: part/models.py:3236 +#: part/models.py:3286 msgid "Maximum Internal Price" msgstr "最大內部價格" -#: part/models.py:3237 +#: part/models.py:3287 msgid "Maximum cost based on internal price breaks" msgstr "基於內部批發價的最高成本" -#: part/models.py:3243 +#: part/models.py:3293 msgid "Minimum Supplier Price" msgstr "供應商最低價格" -#: part/models.py:3244 +#: part/models.py:3294 msgid "Minimum price of part from external suppliers" msgstr "外部供應商零件的最低價格" -#: part/models.py:3250 +#: part/models.py:3300 msgid "Maximum Supplier Price" msgstr "供應商最高價格" -#: part/models.py:3251 +#: part/models.py:3301 msgid "Maximum price of part from external suppliers" msgstr "來自外部供應商的商零件的最高價格" -#: part/models.py:3257 +#: part/models.py:3307 msgid "Minimum Variant Cost" msgstr "最小變體成本" -#: part/models.py:3258 +#: part/models.py:3308 msgid "Calculated minimum cost of variant parts" msgstr "計算出的變體零件的最低成本" -#: part/models.py:3264 +#: part/models.py:3314 msgid "Maximum Variant Cost" msgstr "最大變體成本" -#: part/models.py:3265 +#: part/models.py:3315 msgid "Calculated maximum cost of variant parts" msgstr "計算出的變體零件的最大成本" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3321 part/models.py:3335 msgid "Minimum Cost" msgstr "最低成本" -#: part/models.py:3272 +#: part/models.py:3322 msgid "Override minimum cost" msgstr "覆蓋最低成本" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3328 part/models.py:3342 msgid "Maximum Cost" msgstr "最高成本" -#: part/models.py:3279 +#: part/models.py:3329 msgid "Override maximum cost" msgstr "覆蓋最大成本" -#: part/models.py:3286 +#: part/models.py:3336 msgid "Calculated overall minimum cost" msgstr "計算總最低成本" -#: part/models.py:3293 +#: part/models.py:3343 msgid "Calculated overall maximum cost" msgstr "計算總最大成本" -#: part/models.py:3299 +#: part/models.py:3349 msgid "Minimum Sale Price" msgstr "最低售出價格" -#: part/models.py:3300 +#: part/models.py:3350 msgid "Minimum sale price based on price breaks" msgstr "基於批發價的最低售出價格" -#: part/models.py:3306 +#: part/models.py:3356 msgid "Maximum Sale Price" msgstr "最高售出價格" -#: part/models.py:3307 +#: part/models.py:3357 msgid "Maximum sale price based on price breaks" msgstr "基於批發價的最大售出價格" -#: part/models.py:3313 +#: part/models.py:3363 msgid "Minimum Sale Cost" msgstr "最低銷售成本" -#: part/models.py:3314 +#: part/models.py:3364 msgid "Minimum historical sale price" msgstr "歷史最低售出價格" -#: part/models.py:3320 +#: part/models.py:3370 msgid "Maximum Sale Cost" msgstr "最高銷售成本" -#: part/models.py:3321 +#: part/models.py:3371 msgid "Maximum historical sale price" msgstr "歷史最高售出價格" -#: part/models.py:3340 +#: part/models.py:3390 msgid "Part for stocktake" msgstr "用於盤點的零件" -#: part/models.py:3345 +#: part/models.py:3395 msgid "Item Count" msgstr "物品數量" -#: part/models.py:3346 +#: part/models.py:3396 msgid "Number of individual stock entries at time of stocktake" msgstr "盤點時的個別庫存條目數" -#: part/models.py:3354 +#: part/models.py:3404 msgid "Total available stock at time of stocktake" msgstr "盤點時可用庫存總額" -#: part/models.py:3358 part/models.py:3441 part/serializers.py:273 +#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "日期" -#: part/models.py:3359 +#: part/models.py:3409 msgid "Date stocktake was performed" msgstr "進行盤點的日期" -#: part/models.py:3367 +#: part/models.py:3417 msgid "Additional notes" msgstr "附加註釋" -#: part/models.py:3377 +#: part/models.py:3427 msgid "User who performed this stocktake" msgstr "進行此盤點的用户" -#: part/models.py:3383 +#: part/models.py:3433 msgid "Minimum Stock Cost" msgstr "最低庫存成本" -#: part/models.py:3384 +#: part/models.py:3434 msgid "Estimated minimum cost of stock on hand" msgstr "現有存庫存最低成本估算" -#: part/models.py:3390 +#: part/models.py:3440 msgid "Maximum Stock Cost" msgstr "最高庫存成本" -#: part/models.py:3391 +#: part/models.py:3441 msgid "Estimated maximum cost of stock on hand" msgstr "目前庫存最高成本估算" -#: part/models.py:3447 +#: part/models.py:3497 msgid "Report" msgstr "報告" -#: part/models.py:3448 +#: part/models.py:3498 msgid "Stocktake report file (generated internally)" msgstr "盤點報告文件(內部生成)" -#: part/models.py:3453 +#: part/models.py:3503 msgid "Part Count" msgstr "零件計數" -#: part/models.py:3454 +#: part/models.py:3504 msgid "Number of parts covered by stocktake" msgstr "盤點涵蓋的零件數量" -#: part/models.py:3464 +#: part/models.py:3514 msgid "User who requested this stocktake report" msgstr "請求此盤點報告的用户" -#: part/models.py:3474 +#: part/models.py:3524 msgid "Part Sale Price Break" msgstr "零件售出價格折扣" -#: part/models.py:3586 +#: part/models.py:3636 msgid "Part Test Template" msgstr "零件測試模板" -#: part/models.py:3612 +#: part/models.py:3662 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "模板名稱無效 - 必須包含至少一個字母或者數字" -#: part/models.py:3633 part/models.py:3803 +#: part/models.py:3683 part/models.py:3856 msgid "Choices must be unique" msgstr "選擇必須是唯一的" -#: part/models.py:3644 +#: part/models.py:3694 msgid "Test templates can only be created for testable parts" msgstr "測試模板只能為可拆分的部件創建" -#: part/models.py:3655 +#: part/models.py:3708 msgid "Test template with the same key already exists for part" msgstr "零件已存在具有相同主鍵的測試模板" -#: part/models.py:3672 +#: part/models.py:3725 msgid "Test Name" msgstr "測試名" -#: part/models.py:3673 +#: part/models.py:3726 msgid "Enter a name for the test" msgstr "輸入測試的名稱" -#: part/models.py:3679 +#: part/models.py:3732 msgid "Test Key" msgstr "測試主鍵" -#: part/models.py:3680 +#: part/models.py:3733 msgid "Simplified key for the test" msgstr "簡化測試主鍵" -#: part/models.py:3687 +#: part/models.py:3740 msgid "Test Description" msgstr "測試説明" -#: part/models.py:3688 +#: part/models.py:3741 msgid "Enter description for this test" msgstr "輸入測試的描述" -#: part/models.py:3692 report/models.py:271 +#: part/models.py:3745 report/models.py:271 msgid "Enabled" msgstr "已啓用" -#: part/models.py:3692 +#: part/models.py:3745 msgid "Is this test enabled?" msgstr "此測試是否已啓用?" -#: part/models.py:3697 +#: part/models.py:3750 msgid "Required" msgstr "必須的" -#: part/models.py:3698 +#: part/models.py:3751 msgid "Is this test required to pass?" msgstr "需要此測試才能通過嗎?" -#: part/models.py:3703 +#: part/models.py:3756 msgid "Requires Value" msgstr "需要值" -#: part/models.py:3704 +#: part/models.py:3757 msgid "Does this test require a value when adding a test result?" msgstr "添加測試結果時是否需要一個值?" -#: part/models.py:3709 +#: part/models.py:3762 msgid "Requires Attachment" msgstr "需要附件" -#: part/models.py:3711 +#: part/models.py:3764 msgid "Does this test require a file attachment when adding a test result?" msgstr "添加測試結果時是否需要文件附件?" -#: part/models.py:3717 part/models.py:3865 +#: part/models.py:3770 part/models.py:3918 msgid "Choices" msgstr "選項" -#: part/models.py:3718 +#: part/models.py:3771 msgid "Valid choices for this test (comma-separated)" msgstr "此測試的有效選擇 (逗號分隔)" -#: part/models.py:3751 +#: part/models.py:3804 msgid "Part Parameter Template" msgstr "零件參數模板" -#: part/models.py:3778 +#: part/models.py:3831 msgid "Checkbox parameters cannot have units" msgstr "勾選框參數不能有單位" -#: part/models.py:3783 +#: part/models.py:3836 msgid "Checkbox parameters cannot have choices" msgstr "複選框參數不能有選項" -#: part/models.py:3820 +#: part/models.py:3873 msgid "Parameter template name must be unique" msgstr "參數模板名稱必須是唯一的" -#: part/models.py:3838 +#: part/models.py:3891 msgid "Parameter Name" msgstr "參數名稱" -#: part/models.py:3845 +#: part/models.py:3898 msgid "Physical units for this parameter" msgstr "此參數的物理單位" -#: part/models.py:3853 +#: part/models.py:3906 msgid "Parameter description" msgstr "參數説明" -#: part/models.py:3859 +#: part/models.py:3912 msgid "Checkbox" msgstr "勾選框" -#: part/models.py:3860 +#: part/models.py:3913 msgid "Is this parameter a checkbox?" msgstr "此參數是否為勾選框?" -#: part/models.py:3866 +#: part/models.py:3919 msgid "Valid choices for this parameter (comma-separated)" msgstr "此參數的有效選擇 (逗號分隔)" -#: part/models.py:3877 +#: part/models.py:3930 msgid "Selection list for this parameter" msgstr "" -#: part/models.py:3913 +#: part/models.py:3966 msgid "Part Parameter" msgstr "零件參數" -#: part/models.py:3939 +#: part/models.py:3992 msgid "Parameter cannot be modified - part is locked" msgstr "參數不能被修改 - 零件被鎖定" -#: part/models.py:3977 +#: part/models.py:4030 msgid "Invalid choice for parameter value" msgstr "無效的參數值選擇" -#: part/models.py:4028 +#: part/models.py:4081 msgid "Parent Part" msgstr "父零件" -#: part/models.py:4036 part/models.py:4144 part/models.py:4145 +#: part/models.py:4089 part/models.py:4197 part/models.py:4198 msgid "Parameter Template" msgstr "參數模板" -#: part/models.py:4042 +#: part/models.py:4095 msgid "Parameter Value" msgstr "參數值" -#: part/models.py:4092 +#: part/models.py:4145 msgid "Part Category Parameter Template" msgstr "零件類別參數模板" -#: part/models.py:4151 +#: part/models.py:4204 msgid "Default Value" msgstr "默認值" -#: part/models.py:4152 +#: part/models.py:4205 msgid "Default Parameter Value" msgstr "默認參數值" -#: part/models.py:4283 +#: part/models.py:4336 msgid "BOM item cannot be modified - assembly is locked" msgstr "物料清單項目不能被修改 - 裝配已鎖定" -#: part/models.py:4290 +#: part/models.py:4343 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "物料清單項目不能修改 - 變體裝配已鎖定" -#: part/models.py:4300 +#: part/models.py:4353 msgid "Select parent part" msgstr "選擇父零件" -#: part/models.py:4310 +#: part/models.py:4363 msgid "Sub part" msgstr "子零件" -#: part/models.py:4311 +#: part/models.py:4364 msgid "Select part to be used in BOM" msgstr "選擇要用於物料清單的零件" -#: part/models.py:4322 +#: part/models.py:4375 msgid "BOM quantity for this BOM item" msgstr "此物料清單項目的數量" -#: part/models.py:4328 +#: part/models.py:4381 msgid "This BOM item is optional" msgstr "此物料清單項目是可選的" -#: part/models.py:4334 +#: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "這個物料清單項目是耗材 (它沒有在生產訂單中被追蹤)" -#: part/models.py:4341 +#: part/models.py:4394 msgid "Overage" msgstr "超量" -#: part/models.py:4342 +#: part/models.py:4395 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "估計生產物浪費量(絕對值或百分比)" -#: part/models.py:4349 +#: part/models.py:4402 msgid "BOM item reference" msgstr "物料清單項目引用" -#: part/models.py:4357 +#: part/models.py:4410 msgid "BOM item notes" msgstr "物料清單項目註釋" -#: part/models.py:4363 +#: part/models.py:4416 msgid "Checksum" msgstr "校驗和" -#: part/models.py:4364 +#: part/models.py:4417 msgid "BOM line checksum" msgstr "物料清單行校驗和" -#: part/models.py:4369 +#: part/models.py:4422 msgid "Validated" msgstr "已驗證" -#: part/models.py:4370 +#: part/models.py:4423 msgid "This BOM item has been validated" msgstr "此物料清單項目已驗證" -#: part/models.py:4375 +#: part/models.py:4428 msgid "Gets inherited" msgstr "獲取繼承的" -#: part/models.py:4376 +#: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "此物料清單項目是由物料清單繼承的變體零件" -#: part/models.py:4382 +#: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" msgstr "變體零件的庫存項可以用於此物料清單項目" -#: part/models.py:4467 stock/models.py:848 +#: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" msgstr "可追蹤零件的數量必須是整數" -#: part/models.py:4477 part/models.py:4479 +#: part/models.py:4530 part/models.py:4532 msgid "Sub part must be specified" msgstr "必須指定子零件" -#: part/models.py:4624 +#: part/models.py:4677 msgid "BOM Item Substitute" msgstr "物料清單項目替代品" -#: part/models.py:4645 +#: part/models.py:4698 msgid "Substitute part cannot be the same as the master part" msgstr "替代品零件不能與主零件相同" -#: part/models.py:4658 +#: part/models.py:4711 msgid "Parent BOM item" msgstr "上級物料清單項目" -#: part/models.py:4666 +#: part/models.py:4719 msgid "Substitute part" msgstr "替代品零件" -#: part/models.py:4682 +#: part/models.py:4735 msgid "Part 1" msgstr "零件 1" -#: part/models.py:4690 +#: part/models.py:4743 msgid "Part 2" msgstr "零件2" -#: part/models.py:4691 +#: part/models.py:4744 msgid "Select Related Part" msgstr "選擇相關的零件" -#: part/models.py:4698 +#: part/models.py:4751 msgid "Note for this relationship" msgstr "" -#: part/models.py:4717 +#: part/models.py:4770 msgid "Part relationship cannot be created between a part and itself" msgstr "零件關係不能在零件和自身之間創建" -#: part/models.py:4722 +#: part/models.py:4775 msgid "Duplicate relationship already exists" msgstr "複製關係已經存在" -#: part/serializers.py:125 +#: part/serializers.py:124 msgid "Parent Category" msgstr "上級類別" -#: part/serializers.py:126 +#: part/serializers.py:125 msgid "Parent part category" msgstr "上級零件類別" -#: part/serializers.py:134 part/serializers.py:168 +#: part/serializers.py:133 part/serializers.py:167 msgid "Subcategories" msgstr "子類別" -#: part/serializers.py:207 +#: part/serializers.py:206 msgid "Results" msgstr "結果" -#: part/serializers.py:208 +#: part/serializers.py:207 msgid "Number of results recorded against this template" msgstr "根據該模板記錄的結果數量" -#: part/serializers.py:235 part/serializers.py:253 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 msgid "Purchase currency of this stock item" msgstr "購買此庫存項的貨幣" -#: part/serializers.py:278 +#: part/serializers.py:277 msgid "Speculative Quantity" msgstr "投機數量" -#: part/serializers.py:287 +#: part/serializers.py:286 msgid "Model ID" msgstr "型號ID" -#: part/serializers.py:313 +#: part/serializers.py:312 msgid "File is not an image" msgstr "" -#: part/serializers.py:344 +#: part/serializers.py:343 msgid "Number of parts using this template" msgstr "使用此模板的零件數" -#: part/serializers.py:489 +#: part/serializers.py:495 msgid "Original Part" msgstr "原始零件" -#: part/serializers.py:490 +#: part/serializers.py:496 msgid "Select original part to duplicate" msgstr "選擇要複製的原始零件" -#: part/serializers.py:495 +#: part/serializers.py:501 msgid "Copy Image" msgstr "複製圖片" -#: part/serializers.py:496 +#: part/serializers.py:502 msgid "Copy image from original part" msgstr "從原零件複製圖片" -#: part/serializers.py:502 +#: part/serializers.py:508 msgid "Copy BOM" msgstr "複製物料清單" -#: part/serializers.py:503 +#: part/serializers.py:509 msgid "Copy bill of materials from original part" msgstr "從原始零件複製材料清單" -#: part/serializers.py:509 +#: part/serializers.py:515 msgid "Copy Parameters" msgstr "複製參數" -#: part/serializers.py:510 +#: part/serializers.py:516 msgid "Copy parameter data from original part" msgstr "從原始零件複製參數數據" -#: part/serializers.py:516 +#: part/serializers.py:522 msgid "Copy Notes" msgstr "複製備註" -#: part/serializers.py:517 +#: part/serializers.py:523 msgid "Copy notes from original part" msgstr "從原始零件複製備註" -#: part/serializers.py:535 +#: part/serializers.py:529 +msgid "Copy Tests" +msgstr "" + +#: part/serializers.py:530 +msgid "Copy test templates from original part" +msgstr "" + +#: part/serializers.py:548 msgid "Initial Stock Quantity" msgstr "初始化庫存數量" -#: part/serializers.py:537 +#: part/serializers.py:550 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "指定此零件的初始庫存數量。如果數量為零,則不添加任何庫存。" -#: part/serializers.py:544 +#: part/serializers.py:557 msgid "Initial Stock Location" msgstr "初始化庫存地點" -#: part/serializers.py:545 +#: part/serializers.py:558 msgid "Specify initial stock location for this Part" msgstr "初始化指定此零件的庫存地點" -#: part/serializers.py:562 +#: part/serializers.py:575 msgid "Select supplier (or leave blank to skip)" msgstr "選擇供應商(或為空以跳過)" -#: part/serializers.py:578 +#: part/serializers.py:591 msgid "Select manufacturer (or leave blank to skip)" msgstr "選擇製造商(或為空)" -#: part/serializers.py:588 +#: part/serializers.py:601 msgid "Manufacturer part number" msgstr "製造商零件號" -#: part/serializers.py:595 +#: part/serializers.py:608 msgid "Selected company is not a valid supplier" msgstr "所選公司不是一個有效的供應商" -#: part/serializers.py:604 +#: part/serializers.py:617 msgid "Selected company is not a valid manufacturer" msgstr "所選公司不是一個有效的製造商" -#: part/serializers.py:615 +#: part/serializers.py:628 msgid "Manufacturer part matching this MPN already exists" msgstr "與此製造商零件編號 (MPN) 的相匹配的製造商零件已存在" -#: part/serializers.py:622 +#: part/serializers.py:635 msgid "Supplier part matching this SKU already exists" msgstr "匹配此庫存單位 (SKU) 的供應商零件已存在" -#: part/serializers.py:911 part/stocktake.py:222 +#: part/serializers.py:922 part/stocktake.py:222 msgid "Category Name" msgstr "類別名稱" -#: part/serializers.py:937 +#: part/serializers.py:951 msgid "Building" msgstr "正在生產" -#: part/serializers.py:952 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:36 +#: part/serializers.py:952 +msgid "Quantity of this part currently being in production" +msgstr "" + +#: part/serializers.py:958 +msgid "Scheduled to Build" +msgstr "" + +#: part/serializers.py:959 +msgid "Outstanding quantity of this part scheduled to be built" +msgstr "" + +#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 +#: stock/serializers.py:1260 users/ruleset.py:32 msgid "Stock Items" msgstr "庫存項" -#: part/serializers.py:955 +#: part/serializers.py:983 msgid "Revisions" msgstr "修訂" -#: part/serializers.py:958 +#: part/serializers.py:987 msgid "Suppliers" msgstr "供應商" -#: part/serializers.py:961 templates/email/low_stock_notification.html:16 +#: part/serializers.py:991 templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "庫存總量" -#: part/serializers.py:967 +#: part/serializers.py:999 msgid "Unallocated Stock" msgstr "未分配的庫存" -#: part/serializers.py:973 +#: part/serializers.py:1007 msgid "Variant Stock" msgstr "變體庫存" -#: part/serializers.py:1006 +#: part/serializers.py:1040 msgid "Duplicate Part" msgstr "重複零件" -#: part/serializers.py:1007 +#: part/serializers.py:1041 msgid "Copy initial data from another Part" msgstr "從另一個零件複製初始數據" -#: part/serializers.py:1013 +#: part/serializers.py:1047 msgid "Initial Stock" msgstr "初始庫存" -#: part/serializers.py:1014 +#: part/serializers.py:1048 msgid "Create Part with initial stock quantity" msgstr "創建具有初始庫存數量的零件" -#: part/serializers.py:1020 +#: part/serializers.py:1054 msgid "Supplier Information" msgstr "供應商信息" -#: part/serializers.py:1021 +#: part/serializers.py:1055 msgid "Add initial supplier information for this part" msgstr "添加此零件的初始供應商信息" -#: part/serializers.py:1029 +#: part/serializers.py:1063 msgid "Copy Category Parameters" msgstr "複製類別參數" -#: part/serializers.py:1030 +#: part/serializers.py:1064 msgid "Copy parameter templates from selected part category" msgstr "從選擇的零件複製參數模版" -#: part/serializers.py:1035 +#: part/serializers.py:1069 msgid "Existing Image" msgstr "現有的圖片" -#: part/serializers.py:1036 +#: part/serializers.py:1070 msgid "Filename of an existing part image" msgstr "現有零件圖片的文件名" -#: part/serializers.py:1053 +#: part/serializers.py:1087 msgid "Image file does not exist" msgstr "圖片不存在" -#: part/serializers.py:1257 +#: part/serializers.py:1294 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "限制盤點報告到某個特定零件以及任何變體零件" -#: part/serializers.py:1267 +#: part/serializers.py:1304 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "限制盤點報告到某個特定零件類別以及任何子類別" -#: part/serializers.py:1277 +#: part/serializers.py:1314 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "限制盤點報告到某個特定零件庫存地點以及任何子位置" -#: part/serializers.py:1283 +#: part/serializers.py:1320 msgid "Exclude External Stock" msgstr "排除外部庫存" -#: part/serializers.py:1284 +#: part/serializers.py:1321 msgid "Exclude stock items in external locations" msgstr "排除外部位置的庫存項" -#: part/serializers.py:1289 +#: part/serializers.py:1326 msgid "Generate Report" msgstr "生成報告" -#: part/serializers.py:1290 +#: part/serializers.py:1327 msgid "Generate report file containing calculated stocktake data" msgstr "生成包含計算出來的盤點數據的報告文件" -#: part/serializers.py:1295 +#: part/serializers.py:1332 msgid "Update Parts" msgstr "更新零件" -#: part/serializers.py:1296 +#: part/serializers.py:1333 msgid "Update specified parts with calculated stocktake data" msgstr "使用計算出的盤點數據更新指定零件" -#: part/serializers.py:1304 +#: part/serializers.py:1341 msgid "Stocktake functionality is not enabled" msgstr "盤點功能未啓用" -#: part/serializers.py:1309 +#: part/serializers.py:1346 msgid "Background worker check failed" msgstr "後台執行器檢查失敗" -#: part/serializers.py:1425 +#: part/serializers.py:1462 msgid "Minimum Price" msgstr "最低價格" -#: part/serializers.py:1426 +#: part/serializers.py:1463 msgid "Override calculated value for minimum price" msgstr "覆蓋已計算的最低價格值" -#: part/serializers.py:1433 +#: part/serializers.py:1470 msgid "Minimum price currency" msgstr "最低價格貨幣" -#: part/serializers.py:1440 +#: part/serializers.py:1477 msgid "Maximum Price" msgstr "最高價格" -#: part/serializers.py:1441 +#: part/serializers.py:1478 msgid "Override calculated value for maximum price" msgstr "覆蓋已計算的最高價格值" -#: part/serializers.py:1448 +#: part/serializers.py:1485 msgid "Maximum price currency" msgstr "最高價格貨幣" -#: part/serializers.py:1477 +#: part/serializers.py:1514 msgid "Update" msgstr "更新" -#: part/serializers.py:1478 +#: part/serializers.py:1515 msgid "Update pricing for this part" msgstr "更新這個零件的價格" -#: part/serializers.py:1501 +#: part/serializers.py:1538 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "無法將所提供的貨幣轉換為 {default_currency}" -#: part/serializers.py:1508 +#: part/serializers.py:1545 msgid "Minimum price must not be greater than maximum price" msgstr "最低價格不能高於最高價格。" -#: part/serializers.py:1511 +#: part/serializers.py:1548 msgid "Maximum price must not be less than minimum price" msgstr "最高價格不能低於最低價格" -#: part/serializers.py:1664 +#: part/serializers.py:1701 msgid "Select the parent assembly" msgstr "選擇父裝配" -#: part/serializers.py:1678 +#: part/serializers.py:1715 msgid "Select the component part" msgstr "選擇零部件" -#: part/serializers.py:1698 +#: part/serializers.py:1735 msgid "Can Build" msgstr "可以創建" -#: part/serializers.py:1925 +#: part/serializers.py:1962 msgid "Select part to copy BOM from" msgstr "選擇要複製物料清單的零件" -#: part/serializers.py:1933 +#: part/serializers.py:1970 msgid "Remove Existing Data" msgstr "移除現有數據" -#: part/serializers.py:1934 +#: part/serializers.py:1971 msgid "Remove existing BOM items before copying" msgstr "複製前刪除現有的物料清單項目" -#: part/serializers.py:1939 +#: part/serializers.py:1976 msgid "Include Inherited" msgstr "包含繼承的" -#: part/serializers.py:1940 +#: part/serializers.py:1977 msgid "Include BOM items which are inherited from templated parts" msgstr "包含從模板零件繼承的物料清單項目" -#: part/serializers.py:1945 +#: part/serializers.py:1982 msgid "Skip Invalid Rows" msgstr "跳過無效行" -#: part/serializers.py:1946 +#: part/serializers.py:1983 msgid "Enable this option to skip invalid rows" msgstr "啓用此選項以跳過無效行" -#: part/serializers.py:1951 +#: part/serializers.py:1988 msgid "Copy Substitute Parts" msgstr "複製替代品零件" -#: part/serializers.py:1952 +#: part/serializers.py:1989 msgid "Copy substitute parts when duplicate BOM items" msgstr "複製物料清單項目時複製替代品零件" @@ -6584,6 +6636,7 @@ msgid "Provides native support for barcodes" msgstr "提供條形碼本地支持" #: plugin/builtin/barcodes/inventree_barcode.py:30 +#: plugin/builtin/events/auto_issue_orders.py:19 #: plugin/builtin/exporter/bom_exporter.py:61 #: plugin/builtin/exporter/inventree_exporter.py:17 #: plugin/builtin/exporter/part_parameter_exporter.py:36 @@ -6592,7 +6645,7 @@ msgstr "提供條形碼本地支持" #: plugin/builtin/integration/part_notifications.py:25 #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 -#: plugin/builtin/labels/label_sheet.py:71 +#: plugin/builtin/labels/label_sheet.py:72 #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" @@ -6622,6 +6675,54 @@ msgstr "短條形碼前綴" msgid "Customize the prefix used for short barcodes, may be useful for environments with multiple InvenTree instances" msgstr "自定義用於短條形碼的前綴,可能對有多個InvenTree實例的環境有用。" +#: plugin/builtin/events/auto_issue_orders.py:17 +msgid "Auto Issue Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:20 +msgid "Automatically issue orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:30 +msgid "Auto Issue Build Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:32 +msgid "Automatically issue build orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:38 +msgid "Auto Issue Purchase Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:40 +msgid "Automatically issue purchase orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:46 +msgid "Auto Issue Sales Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:48 +msgid "Automatically issue sales orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:54 +msgid "Auto Issue Return Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:56 +msgid "Automatically issue return orders on the assigned target date" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:62 +msgid "Issue Backdated Orders" +msgstr "" + +#: plugin/builtin/events/auto_issue_orders.py:63 +msgid "Automatically issue orders that are backdated" +msgstr "" + #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" msgstr "" @@ -6820,12 +6921,12 @@ msgid "Provides native support for printing PDF labels" msgstr "為打印 PDF 標籤提供本機支持" #: plugin/builtin/labels/inventree_label.py:32 -#: plugin/builtin/labels/label_sheet.py:77 +#: plugin/builtin/labels/label_sheet.py:78 msgid "Debug mode" msgstr "Debug模式" #: plugin/builtin/labels/inventree_label.py:33 -#: plugin/builtin/labels/label_sheet.py:78 +#: plugin/builtin/labels/label_sheet.py:79 msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "啓用Debug模式 - 返回原始的 HTML 而不是 PDF" @@ -6857,43 +6958,43 @@ msgstr "跳過標籤" msgid "Skip this number of labels when printing label sheets" msgstr "打印標籤頁時跳過標籤的數量" -#: plugin/builtin/labels/label_sheet.py:42 +#: plugin/builtin/labels/label_sheet.py:43 msgid "Border" msgstr "邊框" -#: plugin/builtin/labels/label_sheet.py:43 +#: plugin/builtin/labels/label_sheet.py:44 msgid "Print a border around each label" msgstr "打印每個標籤的邊框" -#: plugin/builtin/labels/label_sheet.py:48 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 msgid "Landscape" msgstr "橫屏模式" -#: plugin/builtin/labels/label_sheet.py:49 +#: plugin/builtin/labels/label_sheet.py:50 msgid "Print the label sheet in landscape mode" msgstr "在橫屏模式下打印標籤表" -#: plugin/builtin/labels/label_sheet.py:54 +#: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" msgstr "" -#: plugin/builtin/labels/label_sheet.py:55 +#: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" msgstr "" -#: plugin/builtin/labels/label_sheet.py:68 +#: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" msgstr "庫存樹標籤工作表" -#: plugin/builtin/labels/label_sheet.py:69 +#: plugin/builtin/labels/label_sheet.py:70 msgid "Arrays multiple labels onto a single sheet" msgstr "單張紙上的組合多個標籤" -#: plugin/builtin/labels/label_sheet.py:121 +#: plugin/builtin/labels/label_sheet.py:122 msgid "Label is too large for page size" msgstr "標籤大過頁面" -#: plugin/builtin/labels/label_sheet.py:160 +#: plugin/builtin/labels/label_sheet.py:161 msgid "No labels were generated" msgstr "沒有生成標籤" @@ -7046,21 +7147,21 @@ msgstr "插件" msgid "Method" msgstr "方法" -#: plugin/plugin.py:312 +#: plugin/plugin.py:308 msgid "No author found" msgstr "未找到作者" -#: plugin/registry.py:611 +#: plugin/registry.py:610 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "插件 '{p}' 與當前 InvenTree 版本{v} 不兼容" -#: plugin/registry.py:614 +#: plugin/registry.py:613 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "插件所需最低版本 {v}" -#: plugin/registry.py:616 +#: plugin/registry.py:615 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "插件所需最高版本 {v}" @@ -7345,7 +7446,7 @@ msgstr "篩選器" msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "模版查詢篩選器 (逗號分隔的鍵值對列表)" -#: report/models.py:358 report/models.py:564 +#: report/models.py:358 report/models.py:562 msgid "Template file" msgstr "模板包文件" @@ -7357,56 +7458,56 @@ msgstr "PDF 報告的頁面大小" msgid "Render report in landscape orientation" msgstr "橫向渲染報告" -#: report/models.py:486 +#: report/models.py:484 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:511 +#: report/models.py:509 msgid "Error generating report" msgstr "" -#: report/models.py:570 +#: report/models.py:568 msgid "Width [mm]" msgstr "寬度 [mm]" -#: report/models.py:571 +#: report/models.py:569 msgid "Label width, specified in mm" msgstr "標籤寬度,以毫米為單位。" -#: report/models.py:577 +#: report/models.py:575 msgid "Height [mm]" msgstr "高度 [mm]" -#: report/models.py:578 +#: report/models.py:576 msgid "Label height, specified in mm" msgstr "標籤高度,以毫米為單位。" -#: report/models.py:688 +#: report/models.py:684 msgid "Error printing labels" msgstr "" -#: report/models.py:707 +#: report/models.py:703 msgid "Snippet" msgstr "代碼片段" -#: report/models.py:708 +#: report/models.py:704 msgid "Report snippet file" msgstr "報告代碼片段文件" -#: report/models.py:715 +#: report/models.py:711 msgid "Snippet file description" msgstr "代碼片段文件描述" -#: report/models.py:733 +#: report/models.py:729 msgid "Asset" msgstr "資產" -#: report/models.py:734 +#: report/models.py:730 msgid "Report asset file" msgstr "報告資產文件" -#: report/models.py:741 +#: report/models.py:737 msgid "Asset file description" msgstr "資產文件描述" @@ -7694,7 +7795,7 @@ msgstr "為所有沒有圖標的位置設置默認圖標(可選)" msgid "Stock Location" msgstr "庫存地點" -#: stock/models.py:156 users/ruleset.py:35 +#: stock/models.py:156 users/ruleset.py:31 msgid "Stock Locations" msgstr "庫存地點" @@ -7710,7 +7811,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:221 users/models.py:499 +#: stock/models.py:221 users/models.py:503 msgid "External" msgstr "外部" @@ -8599,115 +8700,115 @@ msgstr "刪除" msgid "Permission to delete items" msgstr "刪除項目的權限" -#: users/models.py:497 +#: users/models.py:501 msgid "Bot" msgstr "" -#: users/models.py:498 +#: users/models.py:502 msgid "Internal" msgstr "" -#: users/models.py:500 +#: users/models.py:504 msgid "Guest" msgstr "" -#: users/models.py:509 +#: users/models.py:513 msgid "Language" msgstr "" -#: users/models.py:510 +#: users/models.py:514 msgid "Preferred language for the user" msgstr "" -#: users/models.py:515 +#: users/models.py:519 msgid "Theme" msgstr "" -#: users/models.py:516 +#: users/models.py:520 msgid "Settings for the web UI as JSON - do not edit manually!" msgstr "" -#: users/models.py:521 +#: users/models.py:525 msgid "Widgets" msgstr "" -#: users/models.py:523 +#: users/models.py:527 msgid "Settings for the dashboard widgets as JSON - do not edit manually!" msgstr "" -#: users/models.py:530 +#: users/models.py:534 msgid "Display Name" msgstr "" -#: users/models.py:531 +#: users/models.py:535 msgid "Chosen display name for the user" msgstr "" -#: users/models.py:537 +#: users/models.py:541 msgid "Position" msgstr "" -#: users/models.py:538 +#: users/models.py:542 msgid "Main job title or position" msgstr "" -#: users/models.py:545 +#: users/models.py:549 msgid "User status message" msgstr "" -#: users/models.py:552 +#: users/models.py:556 msgid "User location information" msgstr "" -#: users/models.py:557 +#: users/models.py:561 msgid "User is actively using the system" msgstr "" -#: users/models.py:564 +#: users/models.py:568 msgid "Preferred contact information for the user" msgstr "" -#: users/models.py:570 +#: users/models.py:574 msgid "User Type" msgstr "" -#: users/models.py:571 +#: users/models.py:575 msgid "Which type of user is this?" msgstr "" -#: users/models.py:577 +#: users/models.py:581 msgid "Organisation" msgstr "" -#: users/models.py:578 +#: users/models.py:582 msgid "Users primary organisation/affiliation" msgstr "" -#: users/models.py:586 +#: users/models.py:590 msgid "Primary Group" msgstr "" -#: users/models.py:587 +#: users/models.py:591 msgid "Primary group for the user" msgstr "" -#: users/ruleset.py:31 +#: users/ruleset.py:27 msgid "Admin" msgstr "管理員" -#: users/ruleset.py:34 +#: users/ruleset.py:30 msgid "Stocktake" msgstr "庫存盤點" -#: users/ruleset.py:38 +#: users/ruleset.py:34 msgid "Purchase Orders" msgstr "採購訂單" -#: users/ruleset.py:39 +#: users/ruleset.py:35 msgid "Sales Orders" msgstr "銷售訂單" -#: users/ruleset.py:40 +#: users/ruleset.py:36 msgid "Return Orders" msgstr "退貨訂單" diff --git a/src/frontend/src/locales/de/messages.po b/src/frontend/src/locales/de/messages.po index ccb847cf7b..bd2c2d1e45 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: 2025-05-10 21:42\n" +"PO-Revision-Date: 2025-06-03 00:39\n" "Last-Translator: \n" "Language-Team: German\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/frontend/src/locales/fa/messages.po b/src/frontend/src/locales/fa/messages.po index 48c56f4ef3..9ba6c4e71d 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: 2025-05-20 07:28\n" +"PO-Revision-Date: 2025-06-10 07:10\n" "Last-Translator: \n" "Language-Team: Persian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/frontend/src/locales/fr/messages.po b/src/frontend/src/locales/fr/messages.po index 77ee3590be..569f4d9a3e 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: 2025-06-02 01:32\n" +"PO-Revision-Date: 2025-06-07 05:57\n" "Last-Translator: \n" "Language-Team: French\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" diff --git a/src/frontend/src/locales/it/messages.po b/src/frontend/src/locales/it/messages.po index e80d7aa071..18d579dcd3 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: 2025-05-24 13:19\n" +"PO-Revision-Date: 2025-06-07 05:57\n" "Last-Translator: \n" "Language-Team: Italian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/frontend/src/locales/ja/messages.po b/src/frontend/src/locales/ja/messages.po index 694fac41c0..f6b7b453eb 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: 2025-04-19 14:25\n" +"PO-Revision-Date: 2025-06-07 05:57\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Plural-Forms: nplurals=1; plural=0;\n" diff --git a/src/frontend/src/locales/lt/messages.po b/src/frontend/src/locales/lt/messages.po index fb961085de..1977fc6972 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: 2025-06-02 01:32\n" +"PO-Revision-Date: 2025-06-08 12:09\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" diff --git a/src/frontend/src/locales/ru/messages.po b/src/frontend/src/locales/ru/messages.po index c5ca089f88..71240622b0 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: 2025-06-02 01:32\n" +"PO-Revision-Date: 2025-06-07 05:57\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" @@ -180,7 +180,7 @@ msgstr "Это удалит ссылку на связанный штрих-ко #: src/components/items/ActionDropdown.tsx:190 #: src/forms/PurchaseOrderForms.tsx:511 msgid "Unlink Barcode" -msgstr "Отвязать штрих-код" +msgstr "Отвязать штрихкод" #: src/components/buttons/AdminButton.tsx:85 msgid "Open in admin interface" @@ -1541,7 +1541,7 @@ msgstr "Отвязать пользовательский штрих-код" #: src/components/items/ActionDropdown.tsx:243 #: src/tables/RowActions.tsx:65 msgid "Edit" -msgstr "Изменить" +msgstr "Редактировать" #: src/components/items/ActionDropdown.tsx:244 msgid "Edit item" @@ -2024,7 +2024,7 @@ msgstr "Детали" #: src/pages/stock/StockDetail.tsx:548 #: src/tables/stock/StockItemTable.tsx:75 msgid "Stock" -msgstr "Остатки" +msgstr "Склад" #: src/components/nav/NavigationDrawer.tsx:91 #: src/defaults/links.tsx:48 @@ -2042,7 +2042,7 @@ msgstr "Производство" #: src/pages/purchasing/PurchaseOrderDetail.tsx:524 #: src/pages/purchasing/PurchasingIndex.tsx:122 msgid "Purchasing" -msgstr "Покупка" +msgstr "Закупки" #: src/components/nav/NavigationDrawer.tsx:105 #: src/defaults/links.tsx:60 @@ -2348,31 +2348,31 @@ msgstr "Настройка плагина" #: src/components/plugins/PluginUIFeature.tsx:101 msgid "Error occurred while rendering the template editor." -msgstr "" +msgstr "Произошла ошибка при отрисовке редактора шаблонов." #: src/components/plugins/PluginUIFeature.tsx:118 msgid "Error Loading Plugin Editor" -msgstr "" +msgstr "Ошибка загрузки редактора плагинов" #: src/components/plugins/PluginUIFeature.tsx:154 msgid "Error occurred while rendering the template preview." -msgstr "" +msgstr "Произошла ошибка при отрисовке предпросмотра шаблона." #: src/components/plugins/PluginUIFeature.tsx:165 msgid "Error Loading Plugin Preview" -msgstr "" +msgstr "Ошибка загрузки предпросмотра плагина" #: src/components/plugins/RemoteComponent.tsx:76 msgid "Invalid source or function name" -msgstr "" +msgstr "Неверный источник или имя функции" #: src/components/plugins/RemoteComponent.tsx:94 msgid "Error Loading Content" -msgstr "" +msgstr "Ошибка при загрузке содержимого" #: src/components/plugins/RemoteComponent.tsx:98 msgid "Error occurred while loading plugin content" -msgstr "" +msgstr "Произошла ошибка при загрузке содержимого плагина" #: src/components/render/Instance.tsx:238 #~ msgid "Unknown model: {model}" @@ -2380,7 +2380,7 @@ msgstr "" #: src/components/render/Instance.tsx:239 msgid "Unknown model: {model_name}" -msgstr "" +msgstr "Неизвестная модель: {model_name}" #: src/components/render/ModelType.tsx:29 #: src/components/wizards/OrderPartsWizard.tsx:132 @@ -2411,12 +2411,12 @@ msgstr "" #: src/tables/sales/SalesOrderAllocationTable.tsx:122 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Part" -msgstr "Товар" +msgstr "Деталь" #: src/components/render/ModelType.tsx:38 #: src/pages/Index/Settings/AdminCenter/PartParameterPanel.tsx:13 msgid "Part Parameter Template" -msgstr "Шаблон параметра товара" +msgstr "Шаблон параметров деталей" #: src/components/render/ModelType.tsx:39 msgid "Part Parameter Templates" @@ -2766,7 +2766,7 @@ msgstr "" #: src/tables/machine/MachineListTable.tsx:353 #: src/tables/machine/MachineTypeTable.tsx:283 msgid "Errors" -msgstr "" +msgstr "Ошибки" #: src/components/render/ModelType.tsx:307 #~ msgid "Purchase Order Line Items" @@ -3967,7 +3967,7 @@ msgstr "Назначить код партии" #: src/forms/PurchaseOrderForms.tsx:372 msgid "Choose Location" -msgstr "Выберите местоположение" +msgstr "Выберите место хранения" #: src/forms/PurchaseOrderForms.tsx:380 msgid "Item Destination selected" @@ -3996,11 +3996,11 @@ msgstr "Выбрано местоположение по умолчанию" #: src/forms/PurchaseOrderForms.tsx:464 msgid "Set Location" -msgstr "Установить местоположение" +msgstr "Задать место хранения" #: src/forms/PurchaseOrderForms.tsx:481 msgid "Set Expiry Date" -msgstr "" +msgstr "Задать срок годности" #: src/forms/PurchaseOrderForms.tsx:489 #: src/forms/StockForms.tsx:606 @@ -4014,7 +4014,7 @@ msgstr "Изменить статус" #: src/forms/PurchaseOrderForms.tsx:503 msgid "Add Note" -msgstr "Добавить Заметку" +msgstr "Добавить заметку" #: src/forms/PurchaseOrderForms.tsx:552 #: src/forms/StockForms.tsx:702 @@ -4039,11 +4039,11 @@ msgstr "Расположение" #: src/forms/PurchaseOrderForms.tsx:567 msgid "Store at default location" -msgstr "Расположение магазина по умолчанию" +msgstr "Использовать место хранения по-умолчанию" #: src/forms/PurchaseOrderForms.tsx:582 msgid "Store at line item destination " -msgstr "" +msgstr "Использовать место хранения позиции заказа " #: src/forms/PurchaseOrderForms.tsx:582 #~ msgid "Store at line item destination" @@ -4051,7 +4051,7 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:594 msgid "Store with already received stock" -msgstr "" +msgstr "Использовать место хранения уже полученных запасов" #: src/forms/PurchaseOrderForms.tsx:618 #: src/pages/build/BuildDetail.tsx:219 @@ -4067,7 +4067,7 @@ msgstr "Код партии" #: src/forms/PurchaseOrderForms.tsx:619 msgid "Enter batch code for received items" -msgstr "Ввести код партии для полученных запасов" +msgstr "Введите код партии для полученных запасов" #: src/forms/PurchaseOrderForms.tsx:632 #: src/forms/StockForms.tsx:166 @@ -4076,17 +4076,17 @@ msgstr "Серийные номера" #: src/forms/PurchaseOrderForms.tsx:633 msgid "Enter serial numbers for received items" -msgstr "Ввести серийные номера для полученных запасов" +msgstr "Введите серийные номера для полученных запасов" #: src/forms/PurchaseOrderForms.tsx:647 #: src/pages/stock/StockDetail.tsx:306 #: src/tables/stock/StockItemTable.tsx:279 msgid "Expiry Date" -msgstr "" +msgstr "Срок годности" #: src/forms/PurchaseOrderForms.tsx:648 msgid "Enter an expiry date for received items" -msgstr "" +msgstr "Введите дату истечения срока годности полученных элементов" #: src/forms/PurchaseOrderForms.tsx:658 #~ msgid "Receive line items" @@ -4123,11 +4123,11 @@ msgstr "Получено" #: src/forms/PurchaseOrderForms.tsx:770 msgid "Receive Line Items" -msgstr "" +msgstr "Получить позиции" #: src/forms/PurchaseOrderForms.tsx:776 msgid "Items received" -msgstr "" +msgstr "Элементы получены" #: src/forms/ReturnOrderForms.tsx:253 msgid "Receive Items" @@ -4526,7 +4526,7 @@ msgstr "" #: src/hooks/UseForm.tsx:90 msgid "Item Created" -msgstr "Товар создан" +msgstr "Элемент создан" #: src/hooks/UseForm.tsx:110 msgid "Item Updated" @@ -5050,7 +5050,7 @@ msgstr "Отсканированные объекты" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:33 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:113 msgid "Edit Account Information" -msgstr "Изменить данные аккаунта" +msgstr "Редактировать данные аккаунта" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:34 #~ msgid "User details updated" @@ -5075,7 +5075,7 @@ msgstr "Данные аккаунта обновлены" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:55 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:136 msgid "Edit Profile Information" -msgstr "Изменить данные профиля" +msgstr "Редактировать данные профиля" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:55 #~ msgid "Last name" @@ -5350,7 +5350,7 @@ msgstr "Алгоритм одноразового пароля на основе #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:575 msgid "One-Time pre-generated recovery codes" -msgstr "" +msgstr "Коды восстановления доступа используя TOTP" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:589 msgid "Add Token" @@ -5563,7 +5563,7 @@ msgstr "" #: src/pages/Index/Settings/AdminCenter/Index.tsx:236 msgid "Advanced Options" -msgstr "" +msgstr "Расширенные настройки" #: src/pages/Index/Settings/AdminCenter/LabelTemplatePanel.tsx:40 #~ msgid "Generated Labels" @@ -5628,7 +5628,7 @@ msgstr "" #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:74 msgid "Plugin Errors" -msgstr "Ошибки плагина" +msgstr "Ошибки плагинов" #: src/pages/Index/Settings/AdminCenter/ReportTemplatePanel.tsx:16 msgid "Page Size" @@ -5847,7 +5847,7 @@ msgstr "Ревизия" #: src/pages/sales/SalesOrderDetail.tsx:131 #: src/pages/stock/StockDetail.tsx:146 msgid "Custom Status" -msgstr "" +msgstr "Пользовательский статус" #: src/pages/build/BuildDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:124 @@ -5969,7 +5969,7 @@ msgstr "Подробности сборки" #: src/pages/sales/SalesOrderDetail.tsx:332 #: src/pages/sales/SalesOrderDetail.tsx:341 msgid "Line Items" -msgstr "" +msgstr "Позиции" #: src/pages/build/BuildDetail.tsx:296 msgid "Incomplete Outputs" @@ -6063,14 +6063,14 @@ msgstr "" #: src/pages/sales/ReturnOrderDetail.tsx:383 #: src/pages/sales/SalesOrderDetail.tsx:417 msgid "Issue this order" -msgstr "" +msgstr "Оформить данный заказ" #: src/pages/build/BuildDetail.tsx:435 #: src/pages/purchasing/PurchaseOrderDetail.tsx:389 #: src/pages/sales/ReturnOrderDetail.tsx:384 #: src/pages/sales/SalesOrderDetail.tsx:418 msgid "Order issued" -msgstr "" +msgstr "Заказ оформлен" #: src/pages/build/BuildDetail.tsx:440 msgid "Complete Build Order" @@ -6081,28 +6081,28 @@ msgstr "" #: src/pages/sales/ReturnOrderDetail.tsx:407 #: src/pages/sales/SalesOrderDetail.tsx:452 msgid "Mark this order as complete" -msgstr "" +msgstr "Отметить данный заказ как завершённый" #: src/pages/build/BuildDetail.tsx:443 #: src/pages/purchasing/PurchaseOrderDetail.tsx:411 #: src/pages/sales/ReturnOrderDetail.tsx:408 #: src/pages/sales/SalesOrderDetail.tsx:453 msgid "Order completed" -msgstr "" +msgstr "Заказ завершён" #: src/pages/build/BuildDetail.tsx:474 #: src/pages/purchasing/PurchaseOrderDetail.tsx:440 #: src/pages/sales/ReturnOrderDetail.tsx:437 #: src/pages/sales/SalesOrderDetail.tsx:482 msgid "Issue Order" -msgstr "" +msgstr "Оформить заказ" #: src/pages/build/BuildDetail.tsx:481 #: src/pages/purchasing/PurchaseOrderDetail.tsx:447 #: src/pages/sales/ReturnOrderDetail.tsx:444 #: src/pages/sales/SalesOrderDetail.tsx:496 msgid "Complete Order" -msgstr "" +msgstr "Завершить заказ" #: src/pages/build/BuildDetail.tsx:499 msgid "Build Order Actions" @@ -6113,28 +6113,28 @@ msgstr "" #: src/pages/sales/ReturnOrderDetail.tsx:466 #: src/pages/sales/SalesOrderDetail.tsx:519 msgid "Edit order" -msgstr "" +msgstr "Редактировать заказ" #: src/pages/build/BuildDetail.tsx:508 #: src/pages/purchasing/PurchaseOrderDetail.tsx:477 #: src/pages/sales/ReturnOrderDetail.tsx:472 #: src/pages/sales/SalesOrderDetail.tsx:524 msgid "Duplicate order" -msgstr "" +msgstr "Дублировать заказ" #: src/pages/build/BuildDetail.tsx:512 #: src/pages/purchasing/PurchaseOrderDetail.tsx:480 #: src/pages/sales/ReturnOrderDetail.tsx:477 #: src/pages/sales/SalesOrderDetail.tsx:527 msgid "Hold order" -msgstr "" +msgstr "Отложить заказ" #: src/pages/build/BuildDetail.tsx:517 #: src/pages/purchasing/PurchaseOrderDetail.tsx:485 #: src/pages/sales/ReturnOrderDetail.tsx:482 #: src/pages/sales/SalesOrderDetail.tsx:532 msgid "Cancel order" -msgstr "" +msgstr "Отменить заказ" #: src/pages/build/BuildDetail.tsx:553 #: src/pages/stock/StockDetail.tsx:268 @@ -6172,11 +6172,11 @@ msgstr "Веб-сайт" #: src/pages/company/CompanyDetail.tsx:107 msgid "Phone Number" -msgstr "" +msgstr "Номер телефона" #: src/pages/company/CompanyDetail.tsx:114 msgid "Email Address" -msgstr "" +msgstr "Адрес электронной почты" #: src/pages/company/CompanyDetail.tsx:124 msgid "Default Currency" @@ -6221,7 +6221,7 @@ msgstr "Покупатель" #: src/pages/company/CompanyDetail.tsx:174 msgid "Company Details" -msgstr "" +msgstr "Сведения о компании" #: src/pages/company/CompanyDetail.tsx:175 #~ msgid "Edit company" @@ -6229,11 +6229,11 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:180 msgid "Supplied Parts" -msgstr "" +msgstr "Поставляемые детали" #: src/pages/company/CompanyDetail.tsx:189 msgid "Manufactured Parts" -msgstr "" +msgstr "Детали производителя" #: src/pages/company/CompanyDetail.tsx:189 #~ msgid "Delete company" @@ -6250,11 +6250,11 @@ msgstr "Редактирование компании" #: src/pages/company/CompanyDetail.tsx:284 msgid "Delete Company" -msgstr "" +msgstr "Удалить компанию" #: src/pages/company/CompanyDetail.tsx:294 msgid "Company Actions" -msgstr "" +msgstr "Действия с компанией" #: src/pages/company/ManufacturerPartDetail.tsx:77 #: src/pages/company/SupplierPartDetail.tsx:88 @@ -6326,7 +6326,7 @@ msgstr "Описание детали" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:204 #: src/tables/purchasing/SupplierPartTable.tsx:134 msgid "Pack Quantity" -msgstr "" +msgstr "Кол-во в упаковке" #: src/pages/company/SupplierPartDetail.tsx:197 #: src/pages/company/SupplierPartDetail.tsx:387 @@ -6355,7 +6355,7 @@ msgstr "" #: src/pages/company/SupplierPartDetail.tsx:252 #: src/pages/purchasing/PurchaseOrderDetail.tsx:360 msgid "Received Stock" -msgstr "" +msgstr "Полученные позиции" #: src/pages/company/SupplierPartDetail.tsx:276 #: src/pages/part/PartPricingPanel.tsx:113 @@ -6961,7 +6961,7 @@ msgstr "" #: src/tables/purchasing/SupplierPriceBreakTable.tsx:92 #: src/tables/stock/StockItemTable.tsx:246 msgid "Unit Price" -msgstr "" +msgstr "Цена за единицу" #: src/pages/part/pricing/BomPricingPanel.tsx:258 msgid "Pie Chart" @@ -7099,7 +7099,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 msgid "Edit Purchase Order" -msgstr "" +msgstr "Редактирование заказа на закупку" #: src/pages/purchasing/PurchaseOrderDetail.tsx:108 #: src/tables/purchasing/PurchaseOrderTable.tsx:150 @@ -7109,7 +7109,7 @@ msgstr "Создать заказ на закупку" #: src/pages/purchasing/PurchaseOrderDetail.tsx:130 msgid "Supplier Reference" -msgstr "" +msgstr "Номер у поставщика" #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 @@ -7121,12 +7121,12 @@ msgstr "" #: src/pages/sales/ReturnOrderDetail.tsx:141 #: src/pages/sales/SalesOrderDetail.tsx:144 msgid "Completed Line Items" -msgstr "" +msgstr "Завершенные позиции" #: src/pages/purchasing/PurchaseOrderDetail.tsx:179 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:236 msgid "Destination" -msgstr "" +msgstr "Место хранения" #: src/pages/purchasing/PurchaseOrderDetail.tsx:185 #: src/pages/sales/ReturnOrderDetail.tsx:148 @@ -7162,7 +7162,7 @@ msgstr "Телефон контакта" #: src/pages/sales/ReturnOrderDetail.tsx:226 #: src/pages/sales/SalesOrderDetail.tsx:237 msgid "Issue Date" -msgstr "Дата создания" +msgstr "Дата оформления" #: src/pages/purchasing/PurchaseOrderDetail.tsx:286 #: src/pages/sales/ReturnOrderDetail.tsx:250 @@ -7177,35 +7177,35 @@ msgstr "Дата завершения" #: src/pages/sales/ReturnOrderDetail.tsx:280 #: src/pages/sales/SalesOrderDetail.tsx:326 msgid "Order Details" -msgstr "" +msgstr "Сведения о заказе" #: src/pages/purchasing/PurchaseOrderDetail.tsx:344 #: src/pages/sales/ReturnOrderDetail.tsx:308 #: src/pages/sales/SalesOrderDetail.tsx:357 msgid "Extra Line Items" -msgstr "" +msgstr "Дополнительные позиции" #: src/pages/purchasing/PurchaseOrderDetail.tsx:386 msgid "Issue Purchase Order" -msgstr "" +msgstr "Оформить заказ на закупку" #: src/pages/purchasing/PurchaseOrderDetail.tsx:394 msgid "Cancel Purchase Order" -msgstr "" +msgstr "Отмена заказа на закупку" #: src/pages/purchasing/PurchaseOrderDetail.tsx:402 msgid "Hold Purchase Order" -msgstr "" +msgstr "Отложить заказ на закупку" #: src/pages/purchasing/PurchaseOrderDetail.tsx:410 msgid "Complete Purchase Order" -msgstr "" +msgstr "Завершить заказ на закупку" #: src/pages/purchasing/PurchaseOrderDetail.tsx:465 #: src/pages/sales/ReturnOrderDetail.tsx:462 #: src/pages/sales/SalesOrderDetail.tsx:514 msgid "Order Actions" -msgstr "" +msgstr "Действия с заказом" #: src/pages/sales/ReturnOrderDetail.tsx:95 #: src/pages/sales/SalesOrderDetail.tsx:104 @@ -7689,7 +7689,7 @@ msgstr "Показать заказы, назначенные мне" #: src/tables/Filter.tsx:132 #: src/tables/sales/SalesOrderAllocationTable.tsx:77 msgid "Outstanding" -msgstr "" +msgstr "Просрочено" #: src/tables/Filter.tsx:133 msgid "Show outstanding items" @@ -7701,19 +7701,19 @@ msgstr "" #: src/tables/Filter.tsx:148 msgid "Minimum Date" -msgstr "" +msgstr "Минимальная дата" #: src/tables/Filter.tsx:149 msgid "Show items after this date" -msgstr "" +msgstr "Показать элементы после указанной даты" #: src/tables/Filter.tsx:157 msgid "Maximum Date" -msgstr "" +msgstr "Максимальная дата" #: src/tables/Filter.tsx:158 msgid "Show items before this date" -msgstr "" +msgstr "Показать элементы до указанной даты" #: src/tables/Filter.tsx:166 msgid "Created Before" @@ -7733,35 +7733,35 @@ msgstr "Показать заказы, созданные после указа #: src/tables/Filter.tsx:184 msgid "Start Date Before" -msgstr "" +msgstr "Начальная дата до" #: src/tables/Filter.tsx:185 msgid "Show items with a start date before this date" -msgstr "" +msgstr "Показать элементы, начальная дата которых раньше указанной" #: src/tables/Filter.tsx:193 msgid "Start Date After" -msgstr "" +msgstr "Начальная дата после" #: src/tables/Filter.tsx:194 msgid "Show items with a start date after this date" -msgstr "" +msgstr "Показать элементы, начальная дата которых после указанной" #: src/tables/Filter.tsx:202 msgid "Target Date Before" -msgstr "" +msgstr "Целевая дата до" #: src/tables/Filter.tsx:203 msgid "Show items with a target date before this date" -msgstr "" +msgstr "Показать элементы, целевая дата которых раньше указанной" #: src/tables/Filter.tsx:211 msgid "Target Date After" -msgstr "" +msgstr "Целевая дата после" #: src/tables/Filter.tsx:212 msgid "Show items with a target date after this date" -msgstr "" +msgstr "Показать элементы, целевая дата которых после указанной" #: src/tables/Filter.tsx:220 msgid "Completed Before" @@ -7924,7 +7924,7 @@ msgstr "" #: src/tables/InvenTreeTableHeader.tsx:103 #: src/tables/plugin/PluginListTable.tsx:315 msgid "This action cannot be undone" -msgstr "" +msgstr "Это действие нельзя будет отменить" #: src/tables/InvenTreeTableHeader.tsx:114 msgid "Items deleted" @@ -8406,28 +8406,28 @@ msgstr "" #: src/tables/sales/ReturnOrderTable.tsx:78 #: src/tables/sales/SalesOrderTable.tsx:79 msgid "Has Target Date" -msgstr "" +msgstr "Есть целевая дата" #: src/tables/build/BuildOrderTable.tsx:144 #: src/tables/purchasing/PurchaseOrderTable.tsx:82 #: src/tables/sales/ReturnOrderTable.tsx:79 #: src/tables/sales/SalesOrderTable.tsx:80 msgid "Show orders with a target date" -msgstr "" +msgstr "Показать заказы с указанной целевой датой" #: src/tables/build/BuildOrderTable.tsx:149 #: src/tables/purchasing/PurchaseOrderTable.tsx:87 #: src/tables/sales/ReturnOrderTable.tsx:84 #: src/tables/sales/SalesOrderTable.tsx:85 msgid "Has Start Date" -msgstr "" +msgstr "Есть начальная дата" #: src/tables/build/BuildOrderTable.tsx:150 #: src/tables/purchasing/PurchaseOrderTable.tsx:88 #: src/tables/sales/ReturnOrderTable.tsx:85 #: src/tables/sales/SalesOrderTable.tsx:86 msgid "Show orders with a start date" -msgstr "" +msgstr "Показать заказы с указанной начальной датой" #: src/tables/build/BuildOrderTable.tsx:179 #~ msgid "Filter by user who issued this order" @@ -8544,11 +8544,11 @@ msgstr "Добавить адрес" #: src/tables/company/AddressTable.tsx:123 msgid "Address created" -msgstr "" +msgstr "Адрес создан" #: src/tables/company/AddressTable.tsx:132 msgid "Edit Address" -msgstr "" +msgstr "Редактировать адрес" #: src/tables/company/AddressTable.tsx:140 msgid "Delete Address" @@ -8585,7 +8585,7 @@ msgstr "" #: src/tables/company/ContactTable.tsx:95 msgid "Edit Contact" -msgstr "" +msgstr "Редактировать контакт" #: src/tables/company/ContactTable.tsx:102 msgid "Add Contact" @@ -8593,7 +8593,7 @@ msgstr "Добавить контакт" #: src/tables/company/ContactTable.tsx:113 msgid "Delete Contact" -msgstr "" +msgstr "Удалить контакт" #: src/tables/company/ContactTable.tsx:154 msgid "Add contact" @@ -8601,7 +8601,7 @@ msgstr "Добавить контакт" #: src/tables/general/AttachmentTable.tsx:104 msgid "Uploading file {filename}" -msgstr "" +msgstr "Загрузка файла {filename}" #: src/tables/general/AttachmentTable.tsx:139 #~ msgid "File uploaded" @@ -8614,19 +8614,19 @@ msgstr "" #: src/tables/general/AttachmentTable.tsx:156 #: src/tables/general/AttachmentTable.tsx:170 msgid "Uploading File" -msgstr "" +msgstr "Загрузка файла" #: src/tables/general/AttachmentTable.tsx:181 msgid "File Uploaded" -msgstr "" +msgstr "Файл загружен" #: src/tables/general/AttachmentTable.tsx:182 msgid "File {name} uploaded successfully" -msgstr "" +msgstr "Файл {name} успешно загружен" #: src/tables/general/AttachmentTable.tsx:198 msgid "File could not be uploaded" -msgstr "" +msgstr "Файл не может быть загружен" #: src/tables/general/AttachmentTable.tsx:249 msgid "Upload Attachment" @@ -8638,11 +8638,11 @@ msgstr "Загрузить вложение" #: src/tables/general/AttachmentTable.tsx:259 msgid "Edit Attachment" -msgstr "" +msgstr "Редактировать вложение" #: src/tables/general/AttachmentTable.tsx:273 msgid "Delete Attachment" -msgstr "" +msgstr "Удалить вложение" #: src/tables/general/AttachmentTable.tsx:283 msgid "Is Link" @@ -8650,15 +8650,15 @@ msgstr "Это ссылка" #: src/tables/general/AttachmentTable.tsx:284 msgid "Show link attachments" -msgstr "Показывать встроенные вложения" +msgstr "Показать вложения, которые являются ссылками" #: src/tables/general/AttachmentTable.tsx:288 msgid "Is File" -msgstr "" +msgstr "Это файл" #: src/tables/general/AttachmentTable.tsx:289 msgid "Show file attachments" -msgstr "" +msgstr "Показать вложения, которые являются файлами" #: src/tables/general/AttachmentTable.tsx:298 msgid "Add attachment" @@ -8674,7 +8674,7 @@ msgstr "Вложений не найдено" #: src/tables/general/AttachmentTable.tsx:396 msgid "Drag attachment file here to upload" -msgstr "" +msgstr "Перетащите файл для загрузки" #: src/tables/general/BarcodeScanTable.tsx:35 msgid "Item" @@ -8702,21 +8702,21 @@ msgstr "" #: src/tables/sales/SalesOrderLineItemTable.tsx:225 #: src/tables/sales/SalesOrderLineItemTable.tsx:321 msgid "Add Line Item" -msgstr "" +msgstr "Создать позицию" #: src/tables/general/ExtraLineItemTable.tsx:98 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:288 #: src/tables/sales/ReturnOrderLineItemTable.tsx:84 #: src/tables/sales/SalesOrderLineItemTable.tsx:243 msgid "Edit Line Item" -msgstr "" +msgstr "Редактировать позицию" #: src/tables/general/ExtraLineItemTable.tsx:106 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:296 #: src/tables/sales/ReturnOrderLineItemTable.tsx:92 #: src/tables/sales/SalesOrderLineItemTable.tsx:251 msgid "Delete Line Item" -msgstr "" +msgstr "Удалить позицию" #: src/tables/general/ExtraLineItemTable.tsx:143 msgid "Add Extra Line Item" @@ -9042,19 +9042,19 @@ msgstr "Параметры детали нельзя редактировать, #: src/tables/part/PartParameterTemplateTable.tsx:31 msgid "Checkbox" -msgstr "" +msgstr "Чекбокс" #: src/tables/part/PartParameterTemplateTable.tsx:32 msgid "Show checkbox templates" -msgstr "" +msgstr "Показать шаблоны-переключатели" #: src/tables/part/PartParameterTemplateTable.tsx:36 msgid "Has choices" -msgstr "" +msgstr "Есть варианты" #: src/tables/part/PartParameterTemplateTable.tsx:37 msgid "Show templates with choices" -msgstr "" +msgstr "Показать шаблоны с вариантами" #: src/tables/part/PartParameterTemplateTable.tsx:41 #: src/tables/part/PartTable.tsx:223 @@ -9068,15 +9068,15 @@ msgstr "Показать шаблоны с единицами измерения #: src/tables/part/PartParameterTemplateTable.tsx:86 #: src/tables/part/PartParameterTemplateTable.tsx:143 msgid "Add Parameter Template" -msgstr "" +msgstr "Создать шаблон параметра" #: src/tables/part/PartParameterTemplateTable.tsx:101 msgid "Edit Parameter Template" -msgstr "" +msgstr "Редактировать шаблон параметра" #: src/tables/part/PartParameterTemplateTable.tsx:112 msgid "Delete Parameter Template" -msgstr "" +msgstr "Удалить шаблон параметра" #: src/tables/part/PartParameterTemplateTable.tsx:141 #~ msgid "Add parameter template" @@ -9085,7 +9085,7 @@ msgstr "" #: src/tables/part/PartPurchaseOrdersTable.tsx:78 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:169 msgid "Total Quantity" -msgstr "" +msgstr "Общее количество" #: src/tables/part/PartPurchaseOrdersTable.tsx:122 msgid "Show pending orders" @@ -9391,20 +9391,20 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:42 msgid "Plugin is active" -msgstr "" +msgstr "Плагин активен" #: src/tables/plugin/PluginListTable.tsx:48 msgid "Plugin is inactive" -msgstr "" +msgstr "Плагин неактивен" #: src/tables/plugin/PluginListTable.tsx:55 msgid "Plugin is not installed" -msgstr "" +msgstr "Плагин не установлен" #: src/tables/plugin/PluginListTable.tsx:77 #: src/tables/settings/ExportSessionTable.tsx:29 msgid "Plugin" -msgstr "" +msgstr "Плагин" #: src/tables/plugin/PluginListTable.tsx:95 #~ msgid "Plugin with key {pluginKey} not found" @@ -9417,7 +9417,7 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:105 #: src/tables/plugin/PluginListTable.tsx:421 msgid "Mandatory" -msgstr "" +msgstr "Обязательно" #: src/tables/plugin/PluginListTable.tsx:113 #~ msgid "Plugin with id {id} not found" @@ -9442,7 +9442,7 @@ msgstr "Описание недоступно" #: src/tables/plugin/PluginListTable.tsx:152 msgid "Confirm plugin activation" -msgstr "" +msgstr "Подтвердите активацию плагина" #: src/tables/plugin/PluginListTable.tsx:152 #: src/tables/plugin/PluginListTable.tsx:153 @@ -9451,15 +9451,15 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:153 msgid "Confirm plugin deactivation" -msgstr "" +msgstr "Подтвердите деактивацию плагина" #: src/tables/plugin/PluginListTable.tsx:158 msgid "The selected plugin will be activated" -msgstr "" +msgstr "Выбранный плагин будет активирован" #: src/tables/plugin/PluginListTable.tsx:159 msgid "The selected plugin will be deactivated" -msgstr "" +msgstr "Выбранный плагин будет деактивирован" #: src/tables/plugin/PluginListTable.tsx:163 #~ msgid "Package information" @@ -9467,15 +9467,15 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:177 msgid "Deactivate" -msgstr "" +msgstr "Деактивировать" #: src/tables/plugin/PluginListTable.tsx:191 msgid "Activate" -msgstr "" +msgstr "Активировать" #: src/tables/plugin/PluginListTable.tsx:192 msgid "Activate selected plugin" -msgstr "" +msgstr "Активировать выбранный плагин" #: src/tables/plugin/PluginListTable.tsx:197 #~ msgid "Plugin settings" @@ -9483,48 +9483,48 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:204 msgid "Update selected plugin" -msgstr "" +msgstr "Обновить выбранный плагин" #: src/tables/plugin/PluginListTable.tsx:223 #: src/tables/stock/InstalledItemsTable.tsx:108 msgid "Uninstall" -msgstr "" +msgstr "Удалить" #: src/tables/plugin/PluginListTable.tsx:224 msgid "Uninstall selected plugin" -msgstr "" +msgstr "Удалить выбранный плагин" #: src/tables/plugin/PluginListTable.tsx:243 msgid "Delete selected plugin configuration" -msgstr "" +msgstr "Удалить конфигурацию выбранного плагина" #: src/tables/plugin/PluginListTable.tsx:259 msgid "Activate Plugin" -msgstr "" +msgstr "Активировать плагин" #: src/tables/plugin/PluginListTable.tsx:266 msgid "The plugin was activated" -msgstr "" +msgstr "Плагин был активирован" #: src/tables/plugin/PluginListTable.tsx:267 msgid "The plugin was deactivated" -msgstr "" +msgstr "Плагин был деактивирован" #: src/tables/plugin/PluginListTable.tsx:280 msgid "Install plugin" -msgstr "" +msgstr "Установить плагин" #: src/tables/plugin/PluginListTable.tsx:293 msgid "Install" -msgstr "" +msgstr "Установить" #: src/tables/plugin/PluginListTable.tsx:294 msgid "Plugin installed successfully" -msgstr "" +msgstr "Плагин успешно установлен" #: src/tables/plugin/PluginListTable.tsx:299 msgid "Uninstall Plugin" -msgstr "" +msgstr "Удалить плагин" #: src/tables/plugin/PluginListTable.tsx:308 #~ msgid "This action cannot be undone." @@ -9532,19 +9532,19 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:311 msgid "Confirm plugin uninstall" -msgstr "" +msgstr "Подтвердите удаление плагина" #: src/tables/plugin/PluginListTable.tsx:314 msgid "The selected plugin will be uninstalled." -msgstr "" +msgstr "Выбранный плагин будет удалён." #: src/tables/plugin/PluginListTable.tsx:319 msgid "Plugin uninstalled successfully" -msgstr "" +msgstr "Плагин успешно удалён" #: src/tables/plugin/PluginListTable.tsx:327 msgid "Delete Plugin" -msgstr "" +msgstr "Удалить плагин" #: src/tables/plugin/PluginListTable.tsx:328 msgid "Deleting this plugin configuration will remove all associated settings and data. Are you sure you want to delete this plugin?" @@ -9556,11 +9556,11 @@ msgstr "Удаление этого плагина приведет к удал #: src/tables/plugin/PluginListTable.tsx:341 msgid "Plugins reloaded" -msgstr "" +msgstr "Плагины перезагружены" #: src/tables/plugin/PluginListTable.tsx:342 msgid "Plugins were reloaded successfully" -msgstr "" +msgstr "Плагины были успешно перезагружены" #: src/tables/plugin/PluginListTable.tsx:354 #~ msgid "The following plugin will be activated" @@ -9572,11 +9572,11 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:360 msgid "Reload Plugins" -msgstr "" +msgstr "Перезагрузить плагины" #: src/tables/plugin/PluginListTable.tsx:367 msgid "Install Plugin" -msgstr "" +msgstr "Установить плагин" #: src/tables/plugin/PluginListTable.tsx:376 #~ msgid "Activating plugin" @@ -9588,7 +9588,7 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:384 msgid "Plugin Detail" -msgstr "" +msgstr "Сведения о плагине" #: src/tables/plugin/PluginListTable.tsx:392 #~ msgid "Plugin updated" @@ -9600,12 +9600,12 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:426 msgid "Sample" -msgstr "" +msgstr "Пример" #: src/tables/plugin/PluginListTable.tsx:431 #: src/tables/stock/StockItemTable.tsx:362 msgid "Installed" -msgstr "" +msgstr "Установлено" #: src/tables/plugin/PluginListTable.tsx:615 #~ msgid "Plugin detail" @@ -9655,11 +9655,11 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:102 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:361 msgid "Import Line Items" -msgstr "" +msgstr "Импортировать позиции" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:208 msgid "Supplier Code" -msgstr "" +msgstr "Код поставщика" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215 msgid "Supplier Link" @@ -9667,15 +9667,15 @@ msgstr "Ссылка поставщика" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:221 msgid "Manufacturer Code" -msgstr "" +msgstr "Код производителя" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:253 msgid "Show line items which have been received" -msgstr "" +msgstr "Показать полученные позиции" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:321 msgid "Receive line item" -msgstr "" +msgstr "Получить позицию" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:344 #: src/tables/sales/ReturnOrderLineItemTable.tsx:160 @@ -9685,7 +9685,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:378 msgid "Receive items" -msgstr "" +msgstr "Получить позиции" #: src/tables/purchasing/SupplierPartTable.tsx:96 msgid "MPN" @@ -10128,12 +10128,12 @@ msgstr "" #: src/tables/settings/ImportSessionTable.tsx:108 #: src/tables/settings/TemplateTable.tsx:371 msgid "Model Type" -msgstr "" +msgstr "Тип модели" #: src/tables/settings/ImportSessionTable.tsx:109 #: src/tables/settings/TemplateTable.tsx:372 msgid "Filter by target model type" -msgstr "" +msgstr "Фильтр по типу модели" #: src/tables/settings/ImportSessionTable.tsx:115 msgid "Filter by import session status" @@ -10157,7 +10157,7 @@ msgstr "" #: src/tables/settings/ProjectCodeTable.tsx:93 msgid "Add project code" -msgstr "" +msgstr "Создать код проекта" #: src/tables/settings/ScheduledTasksTable.tsx:25 msgid "Last Run" @@ -10193,11 +10193,11 @@ msgstr "" #: src/tables/settings/TemplateTable.tsx:163 msgid "Template not found" -msgstr "" +msgstr "Шаблон не найден" #: src/tables/settings/TemplateTable.tsx:165 msgid "An error occurred while fetching template details" -msgstr "" +msgstr "Произошла ошибка при получении сведений о шаблоне" #: src/tables/settings/TemplateTable.tsx:243 #~ msgid "Add new" @@ -10209,32 +10209,32 @@ msgstr "" #: src/tables/settings/TemplateTable.tsx:259 msgid "Modify" -msgstr "" +msgstr "Изменить" #: src/tables/settings/TemplateTable.tsx:260 msgid "Modify template file" -msgstr "" +msgstr "Изменить файл шаблона" #: src/tables/settings/TemplateTable.tsx:316 #: src/tables/settings/TemplateTable.tsx:384 msgid "Edit Template" -msgstr "" +msgstr "Редактировать шаблон" #: src/tables/settings/TemplateTable.tsx:324 msgid "Delete template" -msgstr "" +msgstr "Удалить шаблон" #: src/tables/settings/TemplateTable.tsx:330 msgid "Add Template" -msgstr "" +msgstr "Создать шаблон" #: src/tables/settings/TemplateTable.tsx:343 msgid "Add template" -msgstr "" +msgstr "Создать шаблон" #: src/tables/settings/TemplateTable.tsx:366 msgid "Filter by enabled status" -msgstr "" +msgstr "Фильтр по статусу" #: src/tables/settings/TemplateTable.tsx:420 #~ msgid "Report Output" @@ -10314,7 +10314,7 @@ msgstr "Вы уверены, что хотите удалить этого по #: src/tables/settings/UserTable.tsx:319 msgid "Add User" -msgstr "Добавить пользователя" +msgstr "Создать пользователя" #: src/tables/settings/UserTable.tsx:327 msgid "Added user" @@ -10322,7 +10322,7 @@ msgstr "Пользователь добавлен" #: src/tables/settings/UserTable.tsx:338 msgid "Add user" -msgstr "Добавить пользователя" +msgstr "Создать пользователя" #: src/tables/settings/UserTable.tsx:351 msgid "Show active users" diff --git a/src/frontend/src/locales/sv/messages.po b/src/frontend/src/locales/sv/messages.po index d0e39899e1..d13e9adec8 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: 2025-05-06 11:24\n" +"PO-Revision-Date: 2025-06-07 23:28\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/frontend/src/locales/tr/messages.po b/src/frontend/src/locales/tr/messages.po index 29e2c6e31b..b191607703 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: 2025-04-27 23:16\n" +"PO-Revision-Date: 2025-06-07 05:57\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/frontend/src/locales/uk/messages.po b/src/frontend/src/locales/uk/messages.po index a0867a55bb..f0fe4ce0f9 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: 2025-04-18 22:04\n" +"PO-Revision-Date: 2025-06-07 05:57\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" @@ -32,11 +32,11 @@ msgstr "Сталася помилка під час рендерингу цьо #: src/components/barcodes/BarcodeCameraInput.tsx:103 msgid "Error while scanning" -msgstr "" +msgstr "Помилка при скануванні" #: src/components/barcodes/BarcodeCameraInput.tsx:117 msgid "Error while stopping" -msgstr "" +msgstr "Помилка при припиненні" #: src/components/barcodes/BarcodeCameraInput.tsx:159 msgid "Start scanning by selecting a camera and pressing the play button." @@ -54,7 +54,7 @@ msgstr "Почати сканування" #: src/tables/general/BarcodeScanTable.tsx:55 #: src/tables/settings/BarcodeScanHistoryTable.tsx:63 msgid "Barcode" -msgstr "" +msgstr "Штрих-код" #: src/components/barcodes/BarcodeInput.tsx:35 #: src/components/barcodes/BarcodeKeyboardInput.tsx:9 @@ -64,23 +64,23 @@ msgstr "Сканувати" #: src/components/barcodes/BarcodeInput.tsx:53 msgid "Camera Input" -msgstr "" +msgstr "Запис камери" #: src/components/barcodes/BarcodeInput.tsx:63 msgid "Scanner Input" -msgstr "" +msgstr "Сканер вводу" #: src/components/barcodes/BarcodeInput.tsx:105 msgid "Barcode Data" -msgstr "" +msgstr "Дані штрихкоду" #: src/components/barcodes/BarcodeInput.tsx:109 msgid "No barcode data" -msgstr "" +msgstr "Немає даних штрих-коду" #: src/components/barcodes/BarcodeInput.tsx:110 msgid "Scan or enter barcode data" -msgstr "" +msgstr "Сканувати або ввести дані штрихкоду" #: src/components/barcodes/BarcodeInput.tsx:114 #: src/components/editors/NotesEditor.tsx:74 @@ -108,7 +108,7 @@ msgstr "Помилка" #: src/components/barcodes/BarcodeKeyboardInput.tsx:39 msgid "Enter barcode data" -msgstr "" +msgstr "Введіть дані штрихкоду" #: src/components/barcodes/BarcodeScanDialog.tsx:32 #: src/components/buttons/ScanButton.tsx:15 @@ -116,32 +116,32 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:416 #: src/forms/PurchaseOrderForms.tsx:520 msgid "Scan Barcode" -msgstr "" +msgstr "Сканувати штрих-код" #: src/components/barcodes/BarcodeScanDialog.tsx:83 msgid "No matching item found" -msgstr "" +msgstr "Відповідного елементу не знайдено" #: src/components/barcodes/BarcodeScanDialog.tsx:90 #: src/pages/Index/Scan.tsx:129 msgid "Failed to scan barcode" -msgstr "" +msgstr "Не вдалося сканувати штрих-код" #: src/components/barcodes/QRCode.tsx:94 msgid "Low (7%)" -msgstr "" +msgstr "Низький (7%)" #: src/components/barcodes/QRCode.tsx:95 msgid "Medium (15%)" -msgstr "" +msgstr "Середній (15%)" #: src/components/barcodes/QRCode.tsx:96 msgid "Quartile (25%)" -msgstr "" +msgstr "Квартиль (25%)" #: src/components/barcodes/QRCode.tsx:97 msgid "High (30%)" -msgstr "" +msgstr "Високий (30\\%)" #: src/components/barcodes/QRCode.tsx:107 msgid "Custom barcode" @@ -153,15 +153,15 @@ msgstr "Власний штрих-код зареєстрований для ц #: src/components/barcodes/QRCode.tsx:127 msgid "Barcode Data:" -msgstr "" +msgstr "Дані штрихкоду:" #: src/components/barcodes/QRCode.tsx:138 msgid "Select Error Correction Level" -msgstr "" +msgstr "Виберіть рівень коригування помилок" #: src/components/barcodes/QRCode.tsx:170 msgid "Failed to link barcode" -msgstr "" +msgstr "Не вдалося прив'язати штрих-код" #: src/components/barcodes/QRCode.tsx:179 #: src/pages/part/PartDetail.tsx:240 @@ -174,13 +174,13 @@ msgstr "Посилання" #: src/components/barcodes/QRCode.tsx:200 msgid "This will remove the link to the associated barcode" -msgstr "" +msgstr "Це призведе до видалення посилання з відповідного штрихкоду" #: src/components/barcodes/QRCode.tsx:205 #: src/components/items/ActionDropdown.tsx:190 #: src/forms/PurchaseOrderForms.tsx:511 msgid "Unlink Barcode" -msgstr "" +msgstr "Відв'язати штрих-код" #: src/components/buttons/AdminButton.tsx:85 msgid "Open in admin interface" @@ -200,11 +200,11 @@ msgstr "Копіювати" #: src/components/buttons/PrintingActions.tsx:51 msgid "Printing Labels" -msgstr "" +msgstr "Друк етикеток" #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Reports" -msgstr "" +msgstr "Друк звітів" #: src/components/buttons/PrintingActions.tsx:77 #~ msgid "Printing" @@ -281,7 +281,7 @@ msgstr "" #: src/components/buttons/ScanButton.tsx:19 msgid "Open Barcode Scanner" -msgstr "" +msgstr "Відкрити сканер штрих-кодів" #: src/components/buttons/ScanButton.tsx:20 #~ msgid "Open QR code scanner" @@ -297,11 +297,11 @@ msgstr "Відкрити екран" #: src/components/buttons/StarredToggleButton.tsx:59 msgid "Unsubscribe from notifications" -msgstr "" +msgstr "Відписатися від сповіщень" #: src/components/buttons/StarredToggleButton.tsx:60 msgid "Subscribe to notifications" -msgstr "" +msgstr "Підписатися на сповіщення" #: src/components/buttons/YesNoButton.tsx:16 msgid "Pass" @@ -324,50 +324,50 @@ msgstr "Ні" #: src/components/calendar/Calendar.tsx:93 #: src/components/calendar/Calendar.tsx:156 msgid "Calendar Filters" -msgstr "" +msgstr "Фільтри календаря" #: src/components/calendar/Calendar.tsx:108 msgid "Previous month" -msgstr "" +msgstr "Попередній місяць" #: src/components/calendar/Calendar.tsx:117 msgid "Select month" -msgstr "" +msgstr "Оберіть місяць" #: src/components/calendar/Calendar.tsx:138 msgid "Next month" -msgstr "" +msgstr "Наступний місяць" #: src/components/calendar/Calendar.tsx:169 #: src/tables/InvenTreeTableHeader.tsx:248 msgid "Download data" -msgstr "" +msgstr "Завантажити дані" #: src/components/calendar/OrderCalendar.tsx:133 msgid "Order Updated" -msgstr "" +msgstr "Замовлення оновлено" #: src/components/calendar/OrderCalendar.tsx:143 msgid "Error updating order" -msgstr "" +msgstr "Помилка під час оновлення замовлення" #: src/components/calendar/OrderCalendar.tsx:179 #: src/tables/Filter.tsx:140 msgid "Overdue" -msgstr "" +msgstr "Прострочено" #: src/components/dashboard/DashboardLayout.tsx:285 msgid "No Widgets Selected" -msgstr "" +msgstr "Жодного віджету не обрано" #: src/components/dashboard/DashboardLayout.tsx:288 msgid "Use the menu to add widgets to the dashboard" -msgstr "" +msgstr "Використовуйте меню, щоб додати віджети до панелі керування" #: src/components/dashboard/DashboardMenu.tsx:60 #: src/components/dashboard/DashboardMenu.tsx:127 msgid "Accept Layout" -msgstr "" +msgstr "Прийняти макет сторінки" #: src/components/dashboard/DashboardMenu.tsx:92 #: src/components/nav/NavigationDrawer.tsx:71 @@ -379,51 +379,51 @@ msgstr "Дешборд" #: src/components/dashboard/DashboardMenu.tsx:100 msgid "Edit Layout" -msgstr "" +msgstr "Редагувати макет сторінки" #: src/components/dashboard/DashboardMenu.tsx:109 msgid "Add Widget" -msgstr "" +msgstr "Додати віджет" #: src/components/dashboard/DashboardMenu.tsx:118 msgid "Remove Widgets" -msgstr "" +msgstr "Видалити віджети" #: src/components/dashboard/DashboardWidget.tsx:63 msgid "Remove this widget from the dashboard" -msgstr "" +msgstr "Видалити цей віджет з панелі керування" #: src/components/dashboard/DashboardWidgetDrawer.tsx:77 msgid "Filter dashboard widgets" -msgstr "" +msgstr "Фільтрувати віджети панелі керування" #: src/components/dashboard/DashboardWidgetDrawer.tsx:98 msgid "Add this widget to the dashboard" -msgstr "" +msgstr "Додати цей віджет до панелі керування" #: src/components/dashboard/DashboardWidgetDrawer.tsx:123 msgid "No Widgets Available" -msgstr "" +msgstr "Віджети відсутні" #: src/components/dashboard/DashboardWidgetDrawer.tsx:124 msgid "There are no more widgets available for the dashboard" -msgstr "" +msgstr "Немає більше віджетів для цієї панелі керування" #: src/components/dashboard/DashboardWidgetLibrary.tsx:22 msgid "Subscribed Parts" -msgstr "" +msgstr "Вироби, на які підписано" #: src/components/dashboard/DashboardWidgetLibrary.tsx:23 msgid "Show the number of parts which you have subscribed to" -msgstr "" +msgstr "Показати кількість виробів, які ви відстежуєте" #: src/components/dashboard/DashboardWidgetLibrary.tsx:29 msgid "Subscribed Categories" -msgstr "" +msgstr "Категорії на які підписані" #: src/components/dashboard/DashboardWidgetLibrary.tsx:30 msgid "Show the number of part categories which you have subscribed to" -msgstr "" +msgstr "Показати кількість категорій виробів, які ви відстежуєте" #: src/components/dashboard/DashboardWidgetLibrary.tsx:38 #: src/pages/part/PartSchedulingDetail.tsx:306 @@ -1594,7 +1594,7 @@ msgstr "Невідома помилка" #: src/components/items/InfoItem.tsx:27 msgid "None" -msgstr "" +msgstr "Нічого" #: src/components/items/InvenTreeLogo.tsx:23 msgid "InvenTree Logo" diff --git a/src/frontend/src/locales/zh_Hans/messages.po b/src/frontend/src/locales/zh_Hans/messages.po index 7b0035d7ab..e1f333f8cc 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: 2025-06-02 01:32\n" +"PO-Revision-Date: 2025-06-07 05:57\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Plural-Forms: nplurals=1; plural=0;\n"